diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-13 13:01:39 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-22 08:58:25 -0400 |
commit | b5f875a92591d06c57e786b3c916e21e290ad844 (patch) | |
tree | 2fd262caf62b21ad54d8683a7c4bde8fd9001c07 /fs/nfs/nfs4trace.h | |
parent | 1f2d30b5338f1adaac249707ae49f1c675049cfc (diff) |
NFSv4: Add tracepoints for debugging getattr
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4trace.h')
-rw-r--r-- | fs/nfs/nfs4trace.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h index f58edcf418bf..99d1b1e79650 100644 --- a/fs/nfs/nfs4trace.h +++ b/fs/nfs/nfs4trace.h | |||
@@ -174,6 +174,24 @@ | |||
174 | { ((__force unsigned long)FMODE_WRITE), "WRITE" }, \ | 174 | { ((__force unsigned long)FMODE_WRITE), "WRITE" }, \ |
175 | { ((__force unsigned long)FMODE_EXEC), "EXEC" }) | 175 | { ((__force unsigned long)FMODE_EXEC), "EXEC" }) |
176 | 176 | ||
177 | #define show_nfs_fattr_flags(valid) \ | ||
178 | __print_flags((unsigned long)valid, "|", \ | ||
179 | { NFS_ATTR_FATTR_TYPE, "TYPE" }, \ | ||
180 | { NFS_ATTR_FATTR_MODE, "MODE" }, \ | ||
181 | { NFS_ATTR_FATTR_NLINK, "NLINK" }, \ | ||
182 | { NFS_ATTR_FATTR_OWNER, "OWNER" }, \ | ||
183 | { NFS_ATTR_FATTR_GROUP, "GROUP" }, \ | ||
184 | { NFS_ATTR_FATTR_RDEV, "RDEV" }, \ | ||
185 | { NFS_ATTR_FATTR_SIZE, "SIZE" }, \ | ||
186 | { NFS_ATTR_FATTR_FSID, "FSID" }, \ | ||
187 | { NFS_ATTR_FATTR_FILEID, "FILEID" }, \ | ||
188 | { NFS_ATTR_FATTR_ATIME, "ATIME" }, \ | ||
189 | { NFS_ATTR_FATTR_MTIME, "MTIME" }, \ | ||
190 | { NFS_ATTR_FATTR_CTIME, "CTIME" }, \ | ||
191 | { NFS_ATTR_FATTR_CHANGE, "CHANGE" }, \ | ||
192 | { NFS_ATTR_FATTR_OWNER_NAME, "OWNER_NAME" }, \ | ||
193 | { NFS_ATTR_FATTR_GROUP_NAME, "GROUP_NAME" }) | ||
194 | |||
177 | DECLARE_EVENT_CLASS(nfs4_clientid_event, | 195 | DECLARE_EVENT_CLASS(nfs4_clientid_event, |
178 | TP_PROTO( | 196 | TP_PROTO( |
179 | const struct nfs_client *clp, | 197 | const struct nfs_client *clp, |
@@ -627,6 +645,57 @@ DEFINE_NFS4_INODE_EVENT(nfs4_set_security_label); | |||
627 | DEFINE_NFS4_INODE_EVENT(nfs4_recall_delegation); | 645 | DEFINE_NFS4_INODE_EVENT(nfs4_recall_delegation); |
628 | DEFINE_NFS4_INODE_EVENT(nfs4_delegreturn); | 646 | DEFINE_NFS4_INODE_EVENT(nfs4_delegreturn); |
629 | 647 | ||
648 | DECLARE_EVENT_CLASS(nfs4_getattr_event, | ||
649 | TP_PROTO( | ||
650 | const struct nfs_server *server, | ||
651 | const struct nfs_fh *fhandle, | ||
652 | const struct nfs_fattr *fattr, | ||
653 | int error | ||
654 | ), | ||
655 | |||
656 | TP_ARGS(server, fhandle, fattr, error), | ||
657 | |||
658 | TP_STRUCT__entry( | ||
659 | __field(dev_t, dev) | ||
660 | __field(u32, fhandle) | ||
661 | __field(u64, fileid) | ||
662 | __field(unsigned int, valid) | ||
663 | __field(int, error) | ||
664 | ), | ||
665 | |||
666 | TP_fast_assign( | ||
667 | __entry->dev = server->s_dev; | ||
668 | __entry->valid = fattr->valid; | ||
669 | __entry->fhandle = nfs_fhandle_hash(fhandle); | ||
670 | __entry->fileid = (fattr->valid & NFS_ATTR_FATTR_FILEID) ? fattr->fileid : 0; | ||
671 | __entry->error = error; | ||
672 | ), | ||
673 | |||
674 | TP_printk( | ||
675 | "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x " | ||
676 | "valid=%s", | ||
677 | __entry->error, | ||
678 | show_nfsv4_errors(__entry->error), | ||
679 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
680 | (unsigned long long)__entry->fileid, | ||
681 | __entry->fhandle, | ||
682 | show_nfs_fattr_flags(__entry->valid) | ||
683 | ) | ||
684 | ); | ||
685 | |||
686 | #define DEFINE_NFS4_GETATTR_EVENT(name) \ | ||
687 | DEFINE_EVENT(nfs4_getattr_event, name, \ | ||
688 | TP_PROTO( \ | ||
689 | const struct nfs_server *server, \ | ||
690 | const struct nfs_fh *fhandle, \ | ||
691 | const struct nfs_fattr *fattr, \ | ||
692 | int error \ | ||
693 | ), \ | ||
694 | TP_ARGS(server, fhandle, fattr, error)) | ||
695 | DEFINE_NFS4_GETATTR_EVENT(nfs4_getattr); | ||
696 | DEFINE_NFS4_GETATTR_EVENT(nfs4_lookup_root); | ||
697 | DEFINE_NFS4_GETATTR_EVENT(nfs4_fsinfo); | ||
698 | |||
630 | DECLARE_EVENT_CLASS(nfs4_idmap_event, | 699 | DECLARE_EVENT_CLASS(nfs4_idmap_event, |
631 | TP_PROTO( | 700 | TP_PROTO( |
632 | const char *name, | 701 | const char *name, |