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>
This commit is contained in:
Trond Myklebust 2010-07-31 14:29:07 -04:00
parent f1f88fc7e8
commit d05dd4e98f
2 changed files with 4 additions and 7 deletions

View File

@ -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 * Helper for restarting RPC calls in the possible presence of NFSv4.1
* sessions. * 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)) if (nfs4_has_session(clp))
rpc_restart_call_prepare(task); return rpc_restart_call_prepare(task);
else return rpc_restart_call(task);
rpc_restart_call(task);
} }

View File

@ -446,9 +446,7 @@ out:
nfs41_sequence_free_slot(res); nfs41_sequence_free_slot(res);
return 1; return 1;
out_retry: out_retry:
rpc_restart_call(task); if (!rpc_restart_call(task))
/* FIXME: rpc_restart_call() should be made to return success/fail */
if (task->tk_action == NULL)
goto out; goto out;
rpc_delay(task, NFS4_POLL_RETRY_MAX); rpc_delay(task, NFS4_POLL_RETRY_MAX);
return 0; return 0;