diff options
author | Jeff Layton <jlayton@kernel.org> | 2024-11-11 17:01:13 +0100 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2024-11-11 19:42:06 +0100 |
commit | f67eef8da0e8c54709fefdecd16ad8d70f0c9d20 (patch) | |
tree | 21d3b53512b66c6627c2183ae3042478509ca10d /fs/nfsd/nfsfh.h | |
parent | xdrgen: emit maxsize macros (diff) | |
download | linux-f67eef8da0e8c54709fefdecd16ad8d70f0c9d20.tar.xz linux-f67eef8da0e8c54709fefdecd16ad8d70f0c9d20.zip |
nfsd: drop inode parameter from nfsd4_change_attribute()
The inode that nfs4_open_delegation() passes to this function is
wrong, which throws off the result. The inode will end up getting a
directory-style change attr instead of a regular-file-style one.
Fix up nfs4_delegation_stat() to fetch STATX_MODE, and then drop the
inode parameter from nfsd4_change_attribute(), since it's no longer
needed.
Fixes: c5967721e106 ("NFSD: handle GETATTR conflict with write delegation")
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to '')
-rw-r--r-- | fs/nfsd/nfsfh.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfsd/nfsfh.h b/fs/nfsd/nfsfh.h index 5b7394801dc4..876152a91f12 100644 --- a/fs/nfsd/nfsfh.h +++ b/fs/nfsd/nfsfh.h @@ -297,8 +297,7 @@ static inline void fh_clear_pre_post_attrs(struct svc_fh *fhp) fhp->fh_pre_saved = false; } -u64 nfsd4_change_attribute(const struct kstat *stat, - const struct inode *inode); +u64 nfsd4_change_attribute(const struct kstat *stat); __be32 __must_check fh_fill_pre_attrs(struct svc_fh *fhp); __be32 fh_fill_post_attrs(struct svc_fh *fhp); __be32 __must_check fh_fill_both_attrs(struct svc_fh *fhp); |