NFS: Report the stateid + status in trace_nfs4_layoutreturn_on_close()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 3 Aug 2020 22:32:28 +0000 (18:32 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 5 Aug 2020 11:26:42 +0000 (07:26 -0400)
Ensure we correctly report the stateid and status in the layoutreturn on
close tracepoint.

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

index 543541173a3d226c2db45ac1de51ff08a2490839..07ea8d8477104a4ae037ba9e7fe6fa22105c7acc 100644 (file)
@@ -1993,7 +1993,7 @@ TRACE_EVENT(nfs4_layoutget,
 
 DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_layoutcommit);
 DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_layoutreturn);
-DEFINE_NFS4_INODE_EVENT(nfs4_layoutreturn_on_close);
+DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_layoutreturn_on_close);
 
 TRACE_DEFINE_ENUM(PNFS_UPDATE_LAYOUT_UNKNOWN);
 TRACE_DEFINE_ENUM(PNFS_UPDATE_LAYOUT_NO_PNFS);
index dd2e14f5875d852cefaf4dab5887b01b2f5cbbd9..d8cdb94c66683d08ad602d3734f829adfde051e1 100644 (file)
@@ -1549,12 +1549,12 @@ void pnfs_roc_release(struct nfs4_layoutreturn_args *args,
        default:
                arg_stateid = &args->stateid;
        }
+       trace_nfs4_layoutreturn_on_close(args->inode, &args->stateid, ret);
        pnfs_layoutreturn_free_lsegs(lo, arg_stateid, &args->range,
                        res_stateid);
        if (ld_private && ld_private->ops && ld_private->ops->free)
                ld_private->ops->free(ld_private);
        pnfs_put_layout_hdr(lo);
-       trace_nfs4_layoutreturn_on_close(args->inode, 0);
 }
 
 bool pnfs_wait_on_layoutreturn(struct inode *ino, struct rpc_task *task)