diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-07-31 14:29:07 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-08-03 22:06:44 -0400 |
commit | d05dd4e98f0dd30ee933e05ac9363614c47df83a (patch) | |
tree | 1b117bc9ffae9cac6de629a85220593b718f4728 /fs/nfs | |
parent | f1f88fc7e818c6678c6799a2edb8f1aeccc124aa (diff) | |
download | op-kernel-dev-d05dd4e98f0dd30ee933e05ac9363614c47df83a.zip op-kernel-dev-d05dd4e98f0dd30ee933e05ac9363614c47df83a.tar.gz |
NFS: Fix the NFS users of rpc_restart_call()
Fix up those functions that depend on knowing whether or not
rpc_restart_call is successful or not.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/internal.h | 7 | ||||
-rw-r--r-- | fs/nfs/nfs4proc.c | 4 |
2 files changed, 4 insertions, 7 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h index d8bd619..699725f 100644 --- a/fs/nfs/internal.h +++ b/fs/nfs/internal.h @@ -369,10 +369,9 @@ unsigned int nfs_page_array_len(unsigned int base, size_t len) * Helper for restarting RPC calls in the possible presence of NFSv4.1 * sessions. */ -static inline void nfs_restart_rpc(struct rpc_task *task, const struct nfs_client *clp) +static inline int nfs_restart_rpc(struct rpc_task *task, const struct nfs_client *clp) { if (nfs4_has_session(clp)) - rpc_restart_call_prepare(task); - else - rpc_restart_call(task); + return rpc_restart_call_prepare(task); + return rpc_restart_call(task); } diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 101bf40..7ffbb98 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -446,9 +446,7 @@ out: nfs41_sequence_free_slot(res); return 1; out_retry: - rpc_restart_call(task); - /* FIXME: rpc_restart_call() should be made to return success/fail */ - if (task->tk_action == NULL) + if (!rpc_restart_call(task)) goto out; rpc_delay(task, NFS4_POLL_RETRY_MAX); return 0; |