On Thu, 2022-02-24 at 09:14 -0500, Benjamin Coddington wrote: > On 23 Feb 2022, at 16:12, trondmy@xxxxxxxxxx wrote: > > > From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > > > > Enable tracing of lookup revalidation failures. > > > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > > --- > > fs/nfs/dir.c | 17 +++++------------ > > 1 file changed, 5 insertions(+), 12 deletions(-) > > > > diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c > > index ebddc736eac2..1aa55cac9d9a 100644 > > --- a/fs/nfs/dir.c > > +++ b/fs/nfs/dir.c > > @@ -1474,9 +1474,7 @@ nfs_lookup_revalidate_done(struct inode *dir, > > struct dentry *dentry, > > { > > switch (error) { > > case 1: > > - dfprintk(LOOKUPCACHE, "NFS: %s(%pd2) is valid\n", > > - __func__, dentry); > > - return 1; > > + break; > > case 0: > > /* > > * We can't d_drop the root of a disconnected tree: > > @@ -1485,13 +1483,10 @@ nfs_lookup_revalidate_done(struct inode > > *dir, > > struct dentry *dentry, > > * inodes on unmount and further oopses. > > */ > > if (inode && IS_ROOT(dentry)) > > - return 1; > > - dfprintk(LOOKUPCACHE, "NFS: %s(%pd2) is invalid\n", > > - __func__, dentry); > > - return 0; > > + error = 1; > > + break; > > } > > - dfprintk(LOOKUPCACHE, "NFS: %s(%pd2) lookup returned error > > %d\n", > > - __func__, dentry, error); > > + trace_nfs_lookup_revalidate_exit(dir, dentry, 0, error); > > > There's a path through nfs4_lookup_revalidate that will now only > produce > this exit tracepoint. Does it need the _enter tracepoint added? You're thinking about the nfs_lookup_revalidate_delegated() path? The _enter() tracepoint doesn't provide any useful information that isn't already provided by the _exit(), AFAICS. -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx