diff mbox series

btrfs: update i_version in update_dev_time

Message ID 20230615124946.106957-1-jlayton@kernel.org (mailing list archive)
State New, archived
Headers show
Series btrfs: update i_version in update_dev_time | expand

Commit Message

Jeffrey Layton June 15, 2023, 12:49 p.m. UTC
When updating the ctime, we also want to update i_version.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 fs/btrfs/volumes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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.

Comments

David Sterba June 19, 2023, 3:38 p.m. UTC | #1
On Thu, Jun 15, 2023 at 08:49:45AM -0400, Jeff Layton wrote:
> When updating the ctime, we also want to update i_version.
> 
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
>  fs/btrfs/volumes.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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.

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.
diff mbox series

Patch

diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 841e799dece5..c62570b6eb0f 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1918,7 +1918,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);
 }