pNFS/flexfiles: Avoid spurious layout returns in ff_layout_choose_ds_for_read
The callers of ff_layout_choose_ds_for_read() should decide whether or not they want to return the layout on error. Sometimes, we may just want to retry from the beginning. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
cac1d3a2b8
commit
9bfffea352
|
@ -740,16 +740,12 @@ ff_layout_choose_ds_for_read(struct pnfs_layout_segment *lseg,
|
|||
struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg);
|
||||
struct nfs4_ff_layout_mirror *mirror;
|
||||
struct nfs4_pnfs_ds *ds;
|
||||
bool fail_return = false;
|
||||
u32 idx;
|
||||
|
||||
/* mirrors are initially sorted by efficiency */
|
||||
for (idx = start_idx; idx < fls->mirror_array_cnt; idx++) {
|
||||
if (idx+1 == fls->mirror_array_cnt)
|
||||
fail_return = !check_device;
|
||||
|
||||
mirror = FF_LAYOUT_COMP(lseg, idx);
|
||||
ds = nfs4_ff_layout_prepare_ds(lseg, mirror, fail_return);
|
||||
ds = nfs4_ff_layout_prepare_ds(lseg, mirror, false);
|
||||
if (!ds)
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue