On 10/29/25 11:13, Yongpeng Yang wrote: > On 10/29/25 10:06, Chao Yu via Linux-f2fs-devel wrote: >> On 10/29/25 03:54, Jaegeuk Kim via Linux-f2fs-devel wrote: >>> This adds a tracepoint in the fadvise call path. >>> >>> Signed-off-by: Jaegeuk Kim <[email protected]> >>> --- >>> fs/f2fs/file.c | 2 ++ >>> include/trace/events/f2fs.h | 32 ++++++++++++++++++++++++++++++++ >>> 2 files changed, 34 insertions(+) >>> >>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c >>> index 6d42e2d28861..4a81089c5df3 100644 >>> --- a/fs/f2fs/file.c >>> +++ b/fs/f2fs/file.c >>> @@ -5288,6 +5288,8 @@ static int f2fs_file_fadvise(struct file *filp, >>> loff_t offset, loff_t len, >>> struct inode *inode = file_inode(filp); >>> int err; >>> + trace_f2fs_fadvise(inode, offset, len, advice); >>> + >>> if (advice == POSIX_FADV_SEQUENTIAL) { >>> if (S_ISFIFO(inode->i_mode)) >>> return -ESPIPE; >>> diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h >>> index edbbd869078f..b7f5317b5980 100644 >>> --- a/include/trace/events/f2fs.h >>> +++ b/include/trace/events/f2fs.h >>> @@ -586,6 +586,38 @@ TRACE_EVENT(f2fs_file_write_iter, >>> __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 = inode->i_size; >> >> __entry->size = i_size_read(inode)? >> >> Thanks, >> > The other "__entry->size = inode->i_size;" in include/trace/events/f2fs.h > also need to be updated?
Yeah, Yongpeng, I noticed that and fixed them right after reply: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=bugfix/common&id=ffd21bf791143957f6ff1fc14d7dbd6e8466b320 Thanks for your reminder. :) Thanks, > >>> + __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, >>> TP_PROTO(struct inode *inode, struct f2fs_map_blocks *map, int flag, >>> int ret), >> >> >> >> _______________________________________________ >> Linux-f2fs-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel > _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
