OSDN Git Service

NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 28 Mar 2020 15:39:29 +0000 (11:39 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 28 Mar 2020 15:54:20 +0000 (11:54 -0400)
If the FLUSH_SYNC flag is set, nfs_initiate_pgio() will currently
wait for completion, and then return the status of the I/O operation.
What we actually want to report in nfs_pageio_doio() is whether or
not the RPC call was launched successfully, whereas actual I/O
status is intended handled in the reply callbacks.

Since FLUSH_SYNC is never set by any of the callers anyway, let's
just remove that code altogether.

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

index c9c3ede..be5e209 100644 (file)
@@ -629,7 +629,6 @@ int nfs_initiate_pgio(struct rpc_clnt *clnt, struct nfs_pgio_header *hdr,
                .workqueue = nfsiod_workqueue,
                .flags = RPC_TASK_ASYNC | RPC_TASK_CRED_NOREF | flags,
        };
-       int ret = 0;
 
        hdr->rw_ops->rw_initiate(hdr, &msg, rpc_ops, &task_setup_data, how);
 
@@ -641,18 +640,10 @@ int nfs_initiate_pgio(struct rpc_clnt *clnt, struct nfs_pgio_header *hdr,
                (unsigned long long)hdr->args.offset);
 
        task = rpc_run_task(&task_setup_data);
-       if (IS_ERR(task)) {
-               ret = PTR_ERR(task);
-               goto out;
-       }
-       if (how & FLUSH_SYNC) {
-               ret = rpc_wait_for_completion_task(task);
-               if (ret == 0)
-                       ret = task->tk_status;
-       }
+       if (IS_ERR(task))
+               return PTR_ERR(task);
        rpc_put_task(task);
-out:
-       return ret;
+       return 0;
 }
 EXPORT_SYMBOL_GPL(nfs_initiate_pgio);