summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve French <stfrench@microsoft.com>2023-11-07 21:38:13 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-12-08 08:48:04 +0100
commitbb08df40d45131811456692c90d01519dec33f1c (patch)
treee2fef3840d8d7a83f5cca83f5758952b211f8ae3
parent15b4158c872db08c0c7f3afe3362262e85bee87e (diff)
downloadlinux-bb08df40d45131811456692c90d01519dec33f1c.tar.gz
linux-bb08df40d45131811456692c90d01519dec33f1c.tar.bz2
linux-bb08df40d45131811456692c90d01519dec33f1c.zip
smb3: fix caching of ctime on setxattr
[ Upstream commit 5923d6686a100c2b4cabd4c2ca9d5a12579c7614 ] Fixes xfstest generic/728 which had been failing due to incorrect ctime after setxattr and removexattr Update ctime on successful set of xattr Cc: stable@vger.kernel.org Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/cifs/xattr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/xattr.c b/fs/cifs/xattr.c
index 9d486fbbfbbd..6f719b9cf9e9 100644
--- a/fs/cifs/xattr.c
+++ b/fs/cifs/xattr.c
@@ -150,10 +150,13 @@ static int cifs_xattr_set(const struct xattr_handler *handler,
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
goto out;
- if (pTcon->ses->server->ops->set_EA)
+ if (pTcon->ses->server->ops->set_EA) {
rc = pTcon->ses->server->ops->set_EA(xid, pTcon,
full_path, name, value, (__u16)size,
cifs_sb->local_nls, cifs_sb);
+ if (rc == 0)
+ inode_set_ctime_current(inode);
+ }
break;
case XATTR_CIFS_ACL: