f2fs: add fadvise tracepoint

This adds a tracepoint in the fadvise call path.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
pull/1354/merge
Jaegeuk Kim 2025-10-28 19:50:11 +00:00
parent 27bf6a637b
commit 2e2e0d679a
2 changed files with 34 additions and 0 deletions

View File

@ -5288,6 +5288,8 @@ static int f2fs_file_fadvise(struct file *filp, loff_t offset, loff_t len,
struct inode *inode = file_inode(filp); struct inode *inode = file_inode(filp);
int err; int err;
trace_f2fs_fadvise(inode, offset, len, advice);
if (advice == POSIX_FADV_SEQUENTIAL) { if (advice == POSIX_FADV_SEQUENTIAL) {
if (S_ISFIFO(inode->i_mode)) if (S_ISFIFO(inode->i_mode))
return -ESPIPE; return -ESPIPE;

View File

@ -586,6 +586,38 @@ TRACE_EVENT(f2fs_file_write_iter,
__entry->ret) __entry->ret)
); );
TRACE_EVENT(f2fs_fadvise,
TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int advice),
TP_ARGS(inode, offset, len, advice),
TP_STRUCT__entry(
__field(dev_t, dev)
__field(ino_t, ino)
__field(loff_t, size)
__field(loff_t, offset)
__field(loff_t, len)
__field(int, advice)
),
TP_fast_assign(
__entry->dev = inode->i_sb->s_dev;
__entry->ino = inode->i_ino;
__entry->size = i_size_read(inode);
__entry->offset = offset;
__entry->len = len;
__entry->advice = advice;
),
TP_printk("dev = (%d,%d), ino = %lu, i_size = %lld offset:%llu, len:%llu, advise:%d",
show_dev_ino(__entry),
(unsigned long long)__entry->size,
__entry->offset,
__entry->len,
__entry->advice)
);
TRACE_EVENT(f2fs_map_blocks, TRACE_EVENT(f2fs_map_blocks,
TP_PROTO(struct inode *inode, struct f2fs_map_blocks *map, int flag, TP_PROTO(struct inode *inode, struct f2fs_map_blocks *map, int flag,
int ret), int ret),