Commit 2f3a9ae9 authored by Chao Yu's avatar Chao Yu Committed by Jaegeuk Kim
Browse files

f2fs: introduce trace_f2fs_replace_atomic_write_block



Commit 3db1de0e ("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: 3db1de0e ("f2fs: change the current atomic write way")
Signed-off-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 120e0ea1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;
}

+37 −0
Original line number Diff line number Diff line
@@ -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),