[1/5] f2fs: introduce trace_f2fs_replace_atomic_write_block
Commit Message
Commit 3db1de0e582c ("f2fs: change the current atomic write way")
removed old tracepoints, but it missed to add new one, this patch
fixes to introduce trace_f2fs_replace_atomic_write_block to trace
atomic_write commit flow.
Fixes: 3db1de0e582c ("f2fs: change the current atomic write way")
Signed-off-by: Chao Yu <chao@kernel.org>
---
fs/f2fs/segment.c | 3 +++
include/trace/events/f2fs.h | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+)
Comments
Hello:
This series was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:
On Mon, 9 Jan 2023 11:44:49 +0800 you wrote:
> Commit 3db1de0e582c ("f2fs: change the current atomic write way")
> removed old tracepoints, but it missed to add new one, this patch
> fixes to introduce trace_f2fs_replace_atomic_write_block to trace
> atomic_write commit flow.
>
> Fixes: 3db1de0e582c ("f2fs: change the current atomic write way")
> Signed-off-by: Chao Yu <chao@kernel.org>
>
> [...]
Here is the summary with links:
- [f2fs-dev,1/5] f2fs: introduce trace_f2fs_replace_atomic_write_block
https://git.kernel.org/jaegeuk/f2fs/c/2f3a9ae990a7
- [f2fs-dev,2/5] f2fs: clear atomic_write_task in f2fs_abort_atomic_write()
https://git.kernel.org/jaegeuk/f2fs/c/0e8d040bfa4c
- [f2fs-dev,3/5] f2fs: fix to abort atomic write only during do_exist()
(no matching commit)
- [f2fs-dev,4/5] f2fs: fix to avoid race condition of f2fs_abort_atomic_write()
https://git.kernel.org/jaegeuk/f2fs/c/f4c49874a80b
- [f2fs-dev,5/5] f2fs: fix to avoid race condition of atomic write
https://git.kernel.org/jaegeuk/f2fs/c/f571253668a9
You are awesome, thank you!
Hello:
This series was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:
On Mon, 9 Jan 2023 11:44:49 +0800 you wrote:
> Commit 3db1de0e582c ("f2fs: change the current atomic write way")
> removed old tracepoints, but it missed to add new one, this patch
> fixes to introduce trace_f2fs_replace_atomic_write_block to trace
> atomic_write commit flow.
>
> Fixes: 3db1de0e582c ("f2fs: change the current atomic write way")
> Signed-off-by: Chao Yu <chao@kernel.org>
>
> [...]
Here is the summary with links:
- [f2fs-dev,1/5] f2fs: introduce trace_f2fs_replace_atomic_write_block
(no matching commit)
- [f2fs-dev,2/5] f2fs: clear atomic_write_task in f2fs_abort_atomic_write()
(no matching commit)
- [f2fs-dev,3/5] f2fs: fix to abort atomic write only during do_exist()
https://git.kernel.org/jaegeuk/f2fs/c/ae267fc1cfe9
- [f2fs-dev,4/5] f2fs: fix to avoid race condition of f2fs_abort_atomic_write()
(no matching commit)
- [f2fs-dev,5/5] f2fs: fix to avoid race condition of atomic write
(no matching commit)
You are awesome, thank you!
@@ -255,6 +255,9 @@ static int __replace_atomic_write_block(struct inode *inode, pgoff_t index,
}
f2fs_put_dnode(&dn);
+
+ trace_f2fs_replace_atomic_write_block(inode, F2FS_I(inode)->cow_inode,
+ index, *old_addr, new_addr, recover);
return 0;
}
@@ -1290,6 +1290,43 @@ DEFINE_EVENT(f2fs__page, f2fs_vm_page_mkwrite,
TP_ARGS(page, type)
);
+TRACE_EVENT(f2fs_replace_atomic_write_block,
+
+ TP_PROTO(struct inode *inode, struct inode *cow_inode, pgoff_t index,
+ block_t old_addr, block_t new_addr, bool recovery),
+
+ TP_ARGS(inode, cow_inode, index, old_addr, new_addr, recovery),
+
+ TP_STRUCT__entry(
+ __field(dev_t, dev)
+ __field(ino_t, ino)
+ __field(ino_t, cow_ino)
+ __field(pgoff_t, index)
+ __field(block_t, old_addr)
+ __field(block_t, new_addr)
+ __field(bool, recovery)
+ ),
+
+ TP_fast_assign(
+ __entry->dev = inode->i_sb->s_dev;
+ __entry->ino = inode->i_ino;
+ __entry->cow_ino = cow_inode->i_ino;
+ __entry->index = index;
+ __entry->old_addr = old_addr;
+ __entry->new_addr = new_addr;
+ __entry->recovery = recovery;
+ ),
+
+ TP_printk("dev = (%d,%d), ino = %lu, cow_ino = %lu, index = %lu, "
+ "old_addr = 0x%llx, new_addr = 0x%llx, recovery = %d",
+ show_dev_ino(__entry),
+ __entry->cow_ino,
+ (unsigned long)__entry->index,
+ (unsigned long long)__entry->old_addr,
+ (unsigned long long)__entry->new_addr,
+ __entry->recovery)
+);
+
TRACE_EVENT(f2fs_filemap_fault,
TP_PROTO(struct inode *inode, pgoff_t index, unsigned long ret),