Re: [RFC] metadata updates vs. fetches (was Re: [PATCH v4] fs: Fix data race in inode_set_ctime_to_ts)

From: 郑浩然
Date: Tue Nov 26 2024 - 01:45:34 EST


Sorry for the previous email in html format, here is the resent
email in plain ASCII text format.

Thanks for your replies. During further testing, I found that the
same problem also occurred with `mtime` and `atime`. I already
understand that this bug may have limited impact, but should I do
something else to deal with this series of timestamp-related issues?

The new call stack is as follows
============DATA_RACE============
btrfs_write_check+0x841/0x13f0 [btrfs]
btrfs_buffered_write+0x6a9/0x2c90 [btrfs]
btrfs_do_write_iter+0x4b7/0x16d0 [btrfs]
btrfs_file_write_iter+0x41/0x60 [btrfs]
aio_write+0x445/0x600
io_submit_one+0xd68/0x1cf0
__se_sys_io_submit+0xc4/0x270
do_syscall_64+0xc9/0x1a0
entry_SYSCALL_64_after_hwframe+0x77/0x7f
0x0
============OTHER_INFO============
btrfs_delayed_update_inode+0x1e24/0x80e0 [btrfs]
btrfs_update_inode+0x478/0xbc0 [btrfs]
btrfs_finish_one_ordered+0x24d6/0x36a0 [btrfs]
btrfs_finish_ordered_io+0x37/0x60 [btrfs]
finish_ordered_fn+0x3e/0x50 [btrfs]
btrfs_work_helper+0x9c9/0x27a0 [btrfs]
process_scheduled_works+0x716/0xf10
worker_thread+0xb6a/0x1190
kthread+0x292/0x330
ret_from_fork+0x4d/0x80
ret_from_fork_asm+0x1a/0x30
=================================