diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index f01e2aa53210..e040359983ce 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -7599,7 +7599,14 @@ static void nfs4_layoutreturn_done(struct rpc_task *task, void *calldata) | |||
7599 | return; | 7599 | return; |
7600 | 7600 | ||
7601 | server = NFS_SERVER(lrp->args.inode); | 7601 | server = NFS_SERVER(lrp->args.inode); |
7602 | if (nfs4_async_handle_error(task, server, NULL) == -EAGAIN) { | 7602 | switch (task->tk_status) { |
7603 | default: | ||
7604 | task->tk_status = 0; | ||
7605 | case 0: | ||
7606 | break; | ||
7607 | case -NFS4ERR_DELAY: | ||
7608 | if (nfs4_async_handle_error(task, server, NULL) != -EAGAIN) | ||
7609 | break; | ||
7603 | rpc_restart_call_prepare(task); | 7610 | rpc_restart_call_prepare(task); |
7604 | return; | 7611 | return; |
7605 | } | 7612 | } |