NFS/flexfiles: Remove bogus checks for invalid deviceids
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 26 Feb 2019 17:57:06 +0000 (12:57 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 2 Mar 2019 03:37:38 +0000 (22:37 -0500)
We already check the deviceids before we start the RPC call.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/flexfilelayout/flexfilelayout.c

index 0134bca..747ab2f 100644 (file)
@@ -932,8 +932,6 @@ retry:
 
        for (i = 0; i < pgio->pg_mirror_count; i++) {
                mirror = FF_LAYOUT_COMP(pgio->pg_lseg, i);
-               if (ff_layout_test_devid_unavailable(&mirror->mirror_ds->id_node))
-                       continue;
                ds = nfs4_ff_layout_prepare_ds(pgio->pg_lseg, mirror, true);
                if (!ds) {
                        if (!ff_layout_no_fallback_to_mds(pgio->pg_lseg))
@@ -1306,15 +1304,6 @@ ff_layout_set_layoutcommit(struct inode *inode,
                (unsigned long long) NFS_I(inode)->layout->plh_lwb);
 }
 
-static bool
-ff_layout_device_unavailable(struct pnfs_layout_segment *lseg, int idx)
-{
-       /* No mirroring for now */
-       struct nfs4_deviceid_node *node = FF_LAYOUT_DEVID_NODE(lseg, idx);
-
-       return ff_layout_test_devid_unavailable(node);
-}
-
 static void ff_layout_read_record_layoutstats_start(struct rpc_task *task,
                struct nfs_pgio_header *hdr)
 {
@@ -1345,10 +1334,6 @@ static int ff_layout_read_prepare_common(struct rpc_task *task,
                rpc_exit(task, -EIO);
                return -EIO;
        }
-       if (ff_layout_device_unavailable(hdr->lseg, hdr->pgio_mirror_idx)) {
-               rpc_exit(task, -EHOSTDOWN);
-               return -EAGAIN;
-       }
 
        ff_layout_read_record_layoutstats_start(task, hdr);
        return 0;
@@ -1537,11 +1522,6 @@ static int ff_layout_write_prepare_common(struct rpc_task *task,
                return -EIO;
        }
 
-       if (ff_layout_device_unavailable(hdr->lseg, hdr->pgio_mirror_idx)) {
-               rpc_exit(task, -EHOSTDOWN);
-               return -EAGAIN;
-       }
-
        ff_layout_write_record_layoutstats_start(task, hdr);
        return 0;
 }