diff options
-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 d8bd619e386c..699725fee34f 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) | |||
369 | * Helper for restarting RPC calls in the possible presence of NFSv4.1 | 369 | * Helper for restarting RPC calls in the possible presence of NFSv4.1 |
370 | * sessions. | 370 | * sessions. |
371 | */ | 371 | */ |
372 | static inline void nfs_restart_rpc(struct rpc_task *task, const struct nfs_client *clp) | 372 | static inline int nfs_restart_rpc(struct rpc_task *task, const struct nfs_client *clp) |
373 | { | 373 | { |
374 | if (nfs4_has_session(clp)) | 374 | if (nfs4_has_session(clp)) |
375 | rpc_restart_call_prepare(task); | 375 | return rpc_restart_call_prepare(task); |
376 | else | 376 | return rpc_restart_call(task); |
377 | rpc_restart_call(task); | ||
378 | } | 377 | } |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 101bf403f507..7ffbb98ddec3 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -446,9 +446,7 @@ out: | |||
446 | nfs41_sequence_free_slot(res); | 446 | nfs41_sequence_free_slot(res); |
447 | return 1; | 447 | return 1; |
448 | out_retry: | 448 | out_retry: |
449 | rpc_restart_call(task); | 449 | if (!rpc_restart_call(task)) |
450 | /* FIXME: rpc_restart_call() should be made to return success/fail */ | ||
451 | if (task->tk_action == NULL) | ||
452 | goto out; | 450 | goto out; |
453 | rpc_delay(task, NFS4_POLL_RETRY_MAX); | 451 | rpc_delay(task, NFS4_POLL_RETRY_MAX); |
454 | return 0; | 452 | return 0; |