smb3: fix caching of ctime on setxattr
authorSteve French <stfrench@microsoft.com>
Wed, 8 Nov 2023 03:38:13 +0000 (21:38 -0600)
committerSteve French <stfrench@microsoft.com>
Thu, 9 Nov 2023 16:25:58 +0000 (10:25 -0600)
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>
fs/smb/client/xattr.c

index ac199160bce6d8c030582c2904eccf350cdc6732..6780aa3e98a1949d3996a2bc873e6d460d00149b 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: