Re: [PATCH v7 02/21] NFS: Trace lookup revalidation failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux