NFSD: fix regression with setting ACLs.
authorNeilBrown <neilb@suse.de>
Thu, 8 Sep 2022 02:08:40 +0000 (12:08 +1000)
committerChuck Lever <chuck.lever@oracle.com>
Thu, 8 Sep 2022 21:53:24 +0000 (17:53 -0400)
commit00801cd92d91e94aa04d687f9bb9a9104e7c3d46
tree0d770e2196921ec19993da366fcb3309fb492c32
parent6930bcbfb6ceda63e298c6af6d733ecdf6bd4cde
NFSD: fix regression with setting ACLs.

A recent patch moved ACL setting into nfsd_setattr().
Unfortunately it didn't work as nfsd_setattr() aborts early if
iap->ia_valid is 0.

Remove this test, and instead avoid calling notify_change() when
ia_valid is 0.

This means that nfsd_setattr() will now *always* lock the inode.
Previously it didn't if only a ATTR_MODE change was requested on a
symlink (see Commit 15b7a1b86d66 ("[PATCH] knfsd: fix setattr-on-symlink
error return")). I don't think this change really matters.

Fixes: c0cbe70742f4 ("NFSD: add posix ACLs to struct nfsd_attrs")
Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/vfs.c