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 879bc8e6555c11c904f1da92928ddfb97cd2e4c8..0a5fe8d5314b5aab483671374a7f14fbdece4569 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)