aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-09-22 13:39:18 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-09-27 14:35:19 -0400
commit304020fe48c6c7fff8b5a38f382b54404f0f79d3 (patch)
tree87ad1ebb4d2d3cf127769e343baf0b48eae474e5 /fs/nfs
parent67dd483026c64444d7fd8eab83334621b3c47b76 (diff)
NFSv4: Open state recovery must account for file permission changes
If the file permissions change on the server, then we may not be able to recover open state. If so, we need to ensure that we mark the file descriptor appropriately. Cc: stable@vger.kernel.org Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Tested-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 4b538bb194f8..0a25f70a3b0b 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1532,6 +1532,9 @@ restart:
1532 __func__, status); 1532 __func__, status);
1533 case -ENOENT: 1533 case -ENOENT:
1534 case -ENOMEM: 1534 case -ENOMEM:
1535 case -EACCES:
1536 case -EROFS:
1537 case -EIO:
1535 case -ESTALE: 1538 case -ESTALE:
1536 /* Open state on this file cannot be recovered */ 1539 /* Open state on this file cannot be recovered */
1537 nfs4_state_mark_recovery_failed(state, status); 1540 nfs4_state_mark_recovery_failed(state, status);