]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFSv4: Open state recovery must account for file permission changes
authorTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 22 Sep 2016 17:39:18 +0000 (13:39 -0400)
committerJiri Slaby <jslaby@suse.cz>
Fri, 28 Oct 2016 18:37:00 +0000 (20:37 +0200)
commit 304020fe48c6c7fff8b5a38f382b54404f0f79d3 upstream.

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.

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>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
fs/nfs/nfs4state.c

index fbe7e2f90a3c655dbe4ddff02b76d9ad1deffacf..e9eda0d5ba6040fd267e4d9325c9b0dd9e3d6717 100644 (file)
@@ -1448,6 +1448,9 @@ restart:
                                        "Zeroing state\n", __func__, status);
                        case -ENOENT:
                        case -ENOMEM:
+                       case -EACCES:
+                       case -EROFS:
+                       case -EIO:
                        case -ESTALE:
                                /*
                                 * Open state on this file cannot be recovered