Преглед изворни кода

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>
Trond Myklebust пре 15 година
родитељ
комит
d05dd4e98f
2 измењених фајлова са 4 додато и 7 уклоњено
  1. 3 4
      fs/nfs/internal.h
  2. 1 3
      fs/nfs/nfs4proc.c

+ 3 - 4
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);
 }

+ 1 - 3
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;