diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-12 16:58:42 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-22 08:58:23 -0400 |
commit | c1578b769a644fe1ff3e8324fc404b18f3f01fbe (patch) | |
tree | ce9cd39742f3834148a002c010071785d3bc1a41 /fs/nfs/nfs4trace.h | |
parent | 078ea3dfe396b18ccf608c71a9585b6f7e519bb1 (diff) |
NFSv4: Add tracepoints for debugging inode manipulations
Set up basic tracepoints for debugging NFSv4 setattr, access,
readlink, readdir, get_acl set_acl get_security_label,
and set_security_label.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4trace.h')
-rw-r--r-- | fs/nfs/nfs4trace.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h index 2646a50a8208..6bd65c2c820b 100644 --- a/fs/nfs/nfs4trace.h +++ b/fs/nfs/nfs4trace.h | |||
@@ -461,6 +461,57 @@ DEFINE_NFS4_LOOKUP_EVENT(nfs4_remove); | |||
461 | DEFINE_NFS4_LOOKUP_EVENT(nfs4_get_fs_locations); | 461 | DEFINE_NFS4_LOOKUP_EVENT(nfs4_get_fs_locations); |
462 | DEFINE_NFS4_LOOKUP_EVENT(nfs4_secinfo); | 462 | DEFINE_NFS4_LOOKUP_EVENT(nfs4_secinfo); |
463 | 463 | ||
464 | DECLARE_EVENT_CLASS(nfs4_inode_event, | ||
465 | TP_PROTO( | ||
466 | const struct inode *inode, | ||
467 | int error | ||
468 | ), | ||
469 | |||
470 | TP_ARGS(inode, error), | ||
471 | |||
472 | TP_STRUCT__entry( | ||
473 | __field(dev_t, dev) | ||
474 | __field(u32, fhandle) | ||
475 | __field(u64, fileid) | ||
476 | __field(int, error) | ||
477 | ), | ||
478 | |||
479 | TP_fast_assign( | ||
480 | __entry->dev = inode->i_sb->s_dev; | ||
481 | __entry->fileid = NFS_FILEID(inode); | ||
482 | __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode)); | ||
483 | __entry->error = error; | ||
484 | ), | ||
485 | |||
486 | TP_printk( | ||
487 | "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x", | ||
488 | __entry->error, | ||
489 | show_nfsv4_errors(__entry->error), | ||
490 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
491 | (unsigned long long)__entry->fileid, | ||
492 | __entry->fhandle | ||
493 | ) | ||
494 | ); | ||
495 | |||
496 | #define DEFINE_NFS4_INODE_EVENT(name) \ | ||
497 | DEFINE_EVENT(nfs4_inode_event, name, \ | ||
498 | TP_PROTO( \ | ||
499 | const struct inode *inode, \ | ||
500 | int error \ | ||
501 | ), \ | ||
502 | TP_ARGS(inode, error)) | ||
503 | |||
504 | DEFINE_NFS4_INODE_EVENT(nfs4_setattr); | ||
505 | DEFINE_NFS4_INODE_EVENT(nfs4_access); | ||
506 | DEFINE_NFS4_INODE_EVENT(nfs4_readlink); | ||
507 | DEFINE_NFS4_INODE_EVENT(nfs4_readdir); | ||
508 | DEFINE_NFS4_INODE_EVENT(nfs4_get_acl); | ||
509 | DEFINE_NFS4_INODE_EVENT(nfs4_set_acl); | ||
510 | #ifdef CONFIG_NFS_V4_SECURITY_LABEL | ||
511 | DEFINE_NFS4_INODE_EVENT(nfs4_get_security_label); | ||
512 | DEFINE_NFS4_INODE_EVENT(nfs4_set_security_label); | ||
513 | #endif /* CONFIG_NFS_V4_SECURITY_LABEL */ | ||
514 | |||
464 | #endif /* _TRACE_NFS4_H */ | 515 | #endif /* _TRACE_NFS4_H */ |
465 | 516 | ||
466 | #undef TRACE_INCLUDE_PATH | 517 | #undef TRACE_INCLUDE_PATH |