aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfs/nfs4proc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index d181090124db..6bcdecd61125 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -370,8 +370,14 @@ int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_
370 case -NFS4ERR_DELEG_REVOKED: 370 case -NFS4ERR_DELEG_REVOKED:
371 case -NFS4ERR_ADMIN_REVOKED: 371 case -NFS4ERR_ADMIN_REVOKED:
372 case -NFS4ERR_BAD_STATEID: 372 case -NFS4ERR_BAD_STATEID:
373 if (state == NULL) 373 if (state == NULL) {
374 if (inode && nfs4_have_delegation(inode,
375 FMODE_READ)) {
376 nfs4_inode_return_delegation(inode);
377 exception->retry = 1;
378 }
374 break; 379 break;
380 }
375 ret = nfs4_schedule_stateid_recovery(server, state); 381 ret = nfs4_schedule_stateid_recovery(server, state);
376 if (ret < 0) 382 if (ret < 0)
377 break; 383 break;