From 4ae6def500a76d5ea2e0aa6d11cd0ae7ceadff1e Mon Sep 17 00:00:00 2001 From: Patrick Farrell Date: Tue, 27 Feb 2024 21:33:08 -0500 Subject: [PATCH] LU-15367 llite: add lseek to iotrace Add iotrace messages for lseek. Credit to Qian Yingjin for original patch. Test-Parameters: trivial Signed-off-by: Patrick Farrell Change-Id: I2beed5e80ea9a3d6278ddd40e9deb6b56754fabe Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52004 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Sebastien Buisson Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- lustre/llite/file.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lustre/llite/file.c b/lustre/llite/file.c index a577dea..64863b9 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -4868,6 +4868,15 @@ static loff_t ll_lseek(struct file *file, loff_t offset, int whence) RETURN(retval); } +#define LU_SEEK_NAMES { \ + [SEEK_SET] = "SEEK_SET", \ + [SEEK_CUR] = "SEEK_CUR", \ + [SEEK_DATA] = "SEEK_DATA", \ + [SEEK_HOLE] = "SEEK_HOLE", \ +} + +static const char *const ll_seek_names[] = LU_SEEK_NAMES; + static loff_t ll_file_seek(struct file *file, loff_t offset, int origin) { struct inode *inode = file_inode(file); @@ -4876,9 +4885,11 @@ static loff_t ll_file_seek(struct file *file, loff_t offset, int origin) ENTRY; - CDEBUG(D_VFSTRACE, "VFS Op:inode="DFID"(%p), to=%llu=%#llx(%d)\n", - PFID(ll_inode2fid(inode)), inode, retval, retval, - origin); + CDEBUG(D_VFSTRACE|D_IOTRACE, + "START file %s:"DFID", offset: %lld, type: %s\n", + file_dentry(file)->d_name.name, + PFID(ll_inode2fid(file_inode(file))), offset, + ll_seek_names[origin]); if (origin == SEEK_END) { retval = ll_glimpse_size(inode); @@ -4906,6 +4917,12 @@ static loff_t ll_file_seek(struct file *file, loff_t offset, int origin) if (retval >= 0) ll_stats_ops_tally(ll_i2sbi(inode), LPROC_LL_LLSEEK, ktime_us_delta(ktime_get(), kstart)); + CDEBUG(D_VFSTRACE|D_IOTRACE, + "COMPLETED file %s:"DFID", offset: %lld, type: %s, result: %lld\n", + file_dentry(file)->d_name.name, + PFID(ll_inode2fid(file_inode(file))), offset, + ll_seek_names[origin], retval); + RETURN(retval); } -- 1.8.3.1