On Tue, 2022-01-18 at 13:54 +0000, David Howells wrote: > Add a tracepoint to log failure to apply an active mark to a file in > addition to tracing successfully setting and unsetting the mark. > > Also include the backing file inode number in the message logged to dmesg. > > Signed-off-by: David Howells <dhowe...@redhat.com> > cc: linux-cachefs@redhat.com > --- > > fs/cachefiles/namei.c | 4 +++- > include/trace/events/cachefiles.h | 21 +++++++++++++++++++++ > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/fs/cachefiles/namei.c b/fs/cachefiles/namei.c > index 52c9f0864a87..f256c8aff7bb 100644 > --- a/fs/cachefiles/namei.c > +++ b/fs/cachefiles/namei.c > @@ -25,7 +25,9 @@ static bool __cachefiles_mark_inode_in_use(struct > cachefiles_object *object, > trace_cachefiles_mark_active(object, inode); > can_use = true; > } else { > - pr_notice("cachefiles: Inode already in use: %pd\n", dentry); > + trace_cachefiles_mark_failed(object, inode); > + pr_notice("cachefiles: Inode already in use: %pd (B=%lx)\n", > + dentry, inode->i_ino); > } > > return can_use; > diff --git a/include/trace/events/cachefiles.h > b/include/trace/events/cachefiles.h > index 093c4acb7a3a..c6f5aa74db89 100644 > --- a/include/trace/events/cachefiles.h > +++ b/include/trace/events/cachefiles.h > @@ -573,6 +573,27 @@ TRACE_EVENT(cachefiles_mark_active, > __entry->obj, __entry->inode) > ); > > +TRACE_EVENT(cachefiles_mark_failed, > + TP_PROTO(struct cachefiles_object *obj, > + struct inode *inode), > + > + TP_ARGS(obj, inode), > + > + /* Note that obj may be NULL */ > + TP_STRUCT__entry( > + __field(unsigned int, obj ) > + __field(ino_t, inode ) > + ), > + > + TP_fast_assign( > + __entry->obj = obj ? obj->debug_id : 0; > + __entry->inode = inode->i_ino; > + ), > + > + TP_printk("o=%08x B=%lx", > + __entry->obj, __entry->inode) > + ); > + > TRACE_EVENT(cachefiles_mark_inactive, > TP_PROTO(struct cachefiles_object *obj, > struct inode *inode), > >
Reviewed-by: Jeff Layton <jlay...@kernel.org> -- Linux-cachefs mailing list Linux-cachefs@redhat.com https://listman.redhat.com/mailman/listinfo/linux-cachefs