diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 1e3afb2f1253..a2cc7d396463 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -482,6 +482,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_stack_hash); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_check); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_get_folio); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_f2fs_file_open); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_begin); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmscan_kswapd_wake); diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 1d9ff2f4bd92..279858ab8f12 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -35,6 +35,9 @@ #include #include +#undef CREATE_TRACE_POINTS +#include + static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf) { struct inode *inode = file_inode(vmf->vma->vm_file); @@ -605,6 +608,8 @@ static int f2fs_file_open(struct inode *inode, struct file *filp) filp->f_mode |= FMODE_NOWAIT; filp->f_mode |= FMODE_CAN_ODIRECT; + trace_android_vh_f2fs_file_open(inode, filp); + err = dquot_file_open(inode, filp); if (err) return err; diff --git a/include/trace/hooks/fs.h b/include/trace/hooks/fs.h index a313ee21339f..36f624c5e870 100644 --- a/include/trace/hooks/fs.h +++ b/include/trace/hooks/fs.h @@ -64,6 +64,11 @@ DECLARE_HOOK(android_vh_vfs_fsync_range, DECLARE_RESTRICTED_HOOK(android_rvh_do_fcntl, TP_PROTO(struct file *filp, unsigned int cmd, unsigned long arg, long *err), TP_ARGS(filp, cmd, arg, err), 1); + +DECLARE_HOOK(android_vh_f2fs_file_open, + TP_PROTO(struct inode *inode, struct file *filp), + TP_ARGS(inode, filp)); + #endif /* _TRACE_HOOK_FS_H */ /* This part must be outside protection */