diff options
| author | NeilBrown <[email protected]> | 2024-08-29 13:26:40 +0000 |
|---|---|---|
| committer | Chuck Lever <[email protected]> | 2024-09-20 23:31:36 +0000 |
| commit | a078a7dc0eaa9db288ae45319f7f7503968af546 (patch) | |
| tree | 54537634f10ac657d748125ad7c6f3599c133a21 /fs/ext4/fast_commit.c | |
| parent | nfsd: enforce upper limit for namelen in __cld_pipe_inprogress_downcall() (diff) | |
| download | kernel-a078a7dc0eaa9db288ae45319f7f7503968af546.tar.gz kernel-a078a7dc0eaa9db288ae45319f7f7503968af546.zip | |
nfsd: untangle code in nfsd4_deleg_getattr_conflict()
The code in nfsd4_deleg_getattr_conflict() is convoluted and buggy.
With this patch we:
- properly handle non-nfsd leases. We must not assume flc_owner is a
delegation unless fl_lmops == &nfsd_lease_mng_ops
- move the main code out of the for loop
- have a single exit which calls nfs4_put_stid()
(and other exits which don't need to call that)
[ jlayton: refactored on top of Neil's other patch: nfsd: fix
nfsd4_deleg_getattr_conflict in presence of third party lease ]
Fixes: c5967721e106 ("NFSD: handle GETATTR conflict with write delegation")
Signed-off-by: NeilBrown <[email protected]>
Signed-off-by: Jeff Layton <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
Diffstat (limited to 'fs/ext4/fast_commit.c')
0 files changed, 0 insertions, 0 deletions
