[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <952f31150513af64ca5ccbb440d1e0ca88a37900.camel@kernel.org>
Date: Fri, 21 Jan 2022 12:53:08 -0500
From: Jeff Layton <jlayton@...nel.org>
To: David Howells <dhowells@...hat.com>, linux-cachefs@...hat.com
Cc: Trond Myklebust <trondmy@...merspace.com>,
Anna Schumaker <anna.schumaker@...app.com>,
Steve French <smfrench@...il.com>,
Dominique Martinet <asmadeus@...ewreck.org>,
Matthew Wilcox <willy@...radead.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Omar Sandoval <osandov@...ndov.com>,
JeffleXu <jefflexu@...ux.alibaba.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-afs@...ts.infradead.org, linux-nfs@...r.kernel.org,
linux-cifs@...r.kernel.org, ceph-devel@...r.kernel.org,
v9fs-developer@...ts.sourceforge.net,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 05/11] cachefiles: Trace active-mark failure
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 <dhowells@...hat.com>
> cc: linux-cachefs@...hat.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 <jlayton@...nel.org>
Powered by blists - more mailing lists