btrfs: update i_version in update_dev_time
authorJeff Layton <jlayton@kernel.org>
Thu, 15 Jun 2023 12:49:45 +0000 (08:49 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2023 15:38:50 +0000 (17:38 +0200)
When updating the ctime, we also want to update i_version.

This is just something I noticed by inspection. There is probably no way
to test this today unless you can somehow get to this inode via nfsd.
Still, I think it's the right thing to do for consistency's sake.

David Sterba's comment: I don't see anything wrong with setting the
iversion bit, however I also don't see where this would be useful.
Agreed with the consistency, otherwise the time is updated when device
super block is wiped or a device initialized, both are big events so
missing that due to lack of iversion update seems unlikely. I'll add it
to the queue, thanks.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
[ add comments ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index 8137c04..b8540af 100644 (file)
@@ -1928,7 +1928,7 @@ static void update_dev_time(const char *device_path)
                return;
 
        now = current_time(d_inode(path.dentry));
-       inode_update_time(d_inode(path.dentry), &now, S_MTIME | S_CTIME);
+       inode_update_time(d_inode(path.dentry), &now, S_MTIME | S_CTIME | S_VERSION);
        path_put(&path);
 }