cluster/dht: Wind open to all subvols

dht_opendir should wind the open to all subvols
whether or not local->subvols is set. This is
because dht_readdirp winds the calls to all subvols.

Change-Id: I67a96b06dad14a08967c3721301e88555aa01017
updates: bz#1564198
Signed-off-by: N Balachandran <nbalacha@redhat.com>
This commit is contained in:
N Balachandran 2018-04-05 21:41:44 +05:30 committed by Shyamsundar Ranganathan
parent 909e2cdf06
commit c4251edec6

View File

@ -6308,16 +6308,11 @@ dht_opendir (call_frame_t *frame, xlator_t *this, loc_t *loc, fd_t *fd,
"Failed to set dictionary value : key = %s",
conf->link_xattr_name);
if ((conf->defrag && conf->defrag->cmd == GF_DEFRAG_CMD_START_TIER) ||
(conf->defrag && conf->defrag->cmd ==
GF_DEFRAG_CMD_START_DETACH_TIER) ||
(!(conf->local_subvols_cnt) || !conf->defrag)) {
/* dht_readdirp will wind to all subvols so open has to be sent to
* all subvols whether or not conf->local_subvols is set */
call_count = local->call_cnt = conf->subvolume_cnt;
subvolumes = conf->subvolumes;
} else {
call_count = local->call_cnt = conf->local_subvols_cnt;
subvolumes = conf->local_subvols;
}
/* In case of parallel-readdir, the readdir-ahead will be loaded
* below dht, in this case, if we want to enable or disable SKIP_DIRs