summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2015-08-20 20:43:14 -0500
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-08-25 14:40:06 -0400
commit249b2eef647f97164b8bb61f2d9282f227a17992 (patch)
tree3f6608a04d57555715dd6bdbab71e17145a23260 /fs/nfs
parent7cd148610af9312aa6454395fe174ebfe9496aa1 (diff)
downloadlinux-249b2eef647f97164b8bb61f2d9282f227a17992.tar.gz
linux-249b2eef647f97164b8bb61f2d9282f227a17992.tar.bz2
linux-249b2eef647f97164b8bb61f2d9282f227a17992.zip
NFSv4: Add a tracepoint for CB_LAYOUTRECALL
Only support for single file layoutrecall for now. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/callback_proc.c3
-rw-r--r--fs/nfs/nfs4trace.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c
index 07258d269e5a..b85cf7a30232 100644
--- a/fs/nfs/callback_proc.c
+++ b/fs/nfs/callback_proc.c
@@ -41,7 +41,7 @@ __be32 nfs4_callback_getattr(struct cb_getattrargs *args,
inode = nfs_delegation_find_inode(cps->clp, &args->fh);
if (inode == NULL) {
- trace_nfs4_cb_getattr(cps->clp, &args->fh, inode,
+ trace_nfs4_cb_getattr(cps->clp, &args->fh, NULL,
-ntohl(res->status));
goto out;
}
@@ -198,6 +198,7 @@ unlock:
spin_unlock(&ino->i_lock);
pnfs_free_lseg_list(&free_me_list);
pnfs_put_layout_hdr(lo);
+ trace_nfs4_cb_layoutrecall_inode(clp, &args->cbl_fh, ino, -rv);
iput(ino);
out:
return rv;
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
index 1aa096b665dc..28df12e525ba 100644
--- a/fs/nfs/nfs4trace.h
+++ b/fs/nfs/nfs4trace.h
@@ -941,6 +941,7 @@ DECLARE_EVENT_CLASS(nfs4_inode_callback_event,
), \
TP_ARGS(clp, fhandle, inode, error))
DEFINE_NFS4_INODE_CALLBACK_EVENT(nfs4_cb_getattr);
+DEFINE_NFS4_INODE_CALLBACK_EVENT(nfs4_cb_layoutrecall_inode);
DECLARE_EVENT_CLASS(nfs4_idmap_event,