diff options
author | Trond Myklebust | 2016-09-22 19:39:18 +0200 |
---|---|---|
committer | Anna Schumaker | 2016-09-27 20:35:19 +0200 |
commit | 304020fe48c6c7fff8b5a38f382b54404f0f79d3 (patch) | |
tree | 87ad1ebb4d2d3cf127769e343baf0b48eae474e5 | |
parent | NFSv4: Mark the lock and open stateids as invalid after freeing them (diff) | |
download | kernel-qcow2-linux-304020fe48c6c7fff8b5a38f382b54404f0f79d3.tar.gz kernel-qcow2-linux-304020fe48c6c7fff8b5a38f382b54404f0f79d3.tar.xz kernel-qcow2-linux-304020fe48c6c7fff8b5a38f382b54404f0f79d3.zip |
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>
-rw-r--r-- | fs/nfs/nfs4state.c | 3 |
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: __func__, status); case -ENOENT: case -ENOMEM: + case -EACCES: + case -EROFS: + case -EIO: case -ESTALE: /* Open state on this file cannot be recovered */ nfs4_state_mark_recovery_failed(state, status); |