NFS: Trace lookup revalidation failure
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 20 Feb 2022 01:38:19 +0000 (20:38 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 28 Feb 2022 15:11:32 +0000 (10:11 -0500)
Enable tracing of lookup revalidation failures.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/dir.c

index ebddc73..1aa55ca 100644 (file)
@@ -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);
        return error;
 }
 
@@ -1623,9 +1618,7 @@ nfs_do_lookup_revalidate(struct inode *dir, struct dentry *dentry,
                goto out_bad;
 
        trace_nfs_lookup_revalidate_enter(dir, dentry, flags);
-       error = nfs_lookup_revalidate_dentry(dir, dentry, inode);
-       trace_nfs_lookup_revalidate_exit(dir, dentry, flags, error);
-       return error;
+       return nfs_lookup_revalidate_dentry(dir, dentry, inode);
 out_valid:
        return nfs_lookup_revalidate_done(dir, dentry, inode, 1);
 out_bad: