mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
NFSD: fix setting FMODE_NOCMTIME in nfs4_open_delegation
fstests generic/215 and generic/407 were failing because the server
wasn't updating mtime properly. When deleg attribute support is not
compiled in and thus no attribute delegation was given, the server
was skipping updating mtime and ctime because FMODE_NOCMTIME was
uncoditionally set for the write delegation.
Fixes: e5e9b24ab8 ("nfsd: freeze c/mtime updates with outstanding WRITE_ATTRS delegation")
Cc: stable@vger.kernel.org
Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
committed by
Chuck Lever
parent
ae78eb4978
commit
41b0a87bc6
@@ -6353,7 +6353,8 @@ nfs4_open_delegation(struct svc_rqst *rqstp, struct nfsd4_open *open,
|
||||
dp->dl_ctime = stat.ctime;
|
||||
dp->dl_mtime = stat.mtime;
|
||||
spin_lock(&f->f_lock);
|
||||
f->f_mode |= FMODE_NOCMTIME;
|
||||
if (deleg_ts)
|
||||
f->f_mode |= FMODE_NOCMTIME;
|
||||
spin_unlock(&f->f_lock);
|
||||
trace_nfsd_deleg_write(&dp->dl_stid.sc_stateid);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user