smb3: fix caching of ctime on setxattr
authorSteve French <stfrench@microsoft.com>
Wed, 8 Nov 2023 03:38:13 +0000 (21:38 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:07:15 +0000 (17:07 +0000)
commit 5923d6686a100c2b4cabd4c2ca9d5a12579c7614 upstream.

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/client/xattr.c

index 998fa51..786b4f6 100644 (file)
@@ -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: