From 9f0ec176b3071e0472582c07ae1e68055b28184d Mon Sep 17 00:00:00 2001 From: Andy Adamson Date: Fri, 27 Apr 2012 17:53:44 -0400 Subject: NFSv4.1 set RPC_TASK_SOFTCONN for filelayout DS RPC calls RPC_TASK_SOFTCONN returns connection errors to the caller which allows the pNFS file layout to quickly try the MDS or perhaps another DS. Signed-off-by: Andy Adamson Signed-off-by: Trond Myklebust --- fs/nfs/read.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'fs/nfs/read.c') diff --git a/fs/nfs/read.c b/fs/nfs/read.c index f23cf25..2cfdd77 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c @@ -206,7 +206,7 @@ out: int nfs_initiate_read(struct rpc_clnt *clnt, struct nfs_read_data *data, - const struct rpc_call_ops *call_ops) + const struct rpc_call_ops *call_ops, int flags) { struct inode *inode = data->header->inode; int swap_flags = IS_SWAPFILE(inode) ? NFS_RPC_SWAPFLAGS : 0; @@ -223,7 +223,7 @@ int nfs_initiate_read(struct rpc_clnt *clnt, .callback_ops = call_ops, .callback_data = data, .workqueue = nfsiod_workqueue, - .flags = RPC_TASK_ASYNC | swap_flags, + .flags = RPC_TASK_ASYNC | swap_flags | flags, }; /* Set up the initial task struct. */ @@ -272,7 +272,7 @@ static int nfs_do_read(struct nfs_read_data *data, { struct inode *inode = data->header->inode; - return nfs_initiate_read(NFS_CLIENT(inode), data, call_ops); + return nfs_initiate_read(NFS_CLIENT(inode), data, call_ops, 0); } static int -- cgit v1.1