cifs: update the ctime on a partial page write
authorJeff Layton <jlayton@kernel.org>
Wed, 5 Jul 2023 19:00:33 +0000 (15:00 -0400)
committerChristian Brauner <brauner@kernel.org>
Mon, 10 Jul 2023 08:04:52 +0000 (10:04 +0200)
POSIX says:

    "Upon successful completion, where nbyte is greater than 0, write()
     shall mark for update the last data modification and last file status
     change timestamps of the file..."

Add the missing ctime update.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Steve French <stfrench@microsoft.com>
Message-Id: <20230705190309.579783-6-jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/smb/client/file.c

index 879bc8e..0a5fe8d 100644 (file)
@@ -2596,7 +2596,7 @@ static int cifs_partialpagewrite(struct page *page, unsigned from, unsigned to)
                                           write_data, to - from, &offset);
                cifsFileInfo_put(open_file);
                /* Does mm or vfs already set times? */
-               inode->i_atime = inode->i_mtime = current_time(inode);
+               inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
                if ((bytes_written > 0) && (offset))
                        rc = 0;
                else if (bytes_written < 0)