@@ -1022,6 +1022,88 @@ TRACE_EVENT(nfs4_set_lock,
1022
1022
)
1023
1023
);
1024
1024
1025
+ TRACE_DEFINE_ENUM (LK_STATE_IN_USE );
1026
+ TRACE_DEFINE_ENUM (NFS_DELEGATED_STATE );
1027
+ TRACE_DEFINE_ENUM (NFS_OPEN_STATE );
1028
+ TRACE_DEFINE_ENUM (NFS_O_RDONLY_STATE );
1029
+ TRACE_DEFINE_ENUM (NFS_O_WRONLY_STATE );
1030
+ TRACE_DEFINE_ENUM (NFS_O_RDWR_STATE );
1031
+ TRACE_DEFINE_ENUM (NFS_STATE_RECLAIM_REBOOT );
1032
+ TRACE_DEFINE_ENUM (NFS_STATE_RECLAIM_NOGRACE );
1033
+ TRACE_DEFINE_ENUM (NFS_STATE_POSIX_LOCKS );
1034
+ TRACE_DEFINE_ENUM (NFS_STATE_RECOVERY_FAILED );
1035
+ TRACE_DEFINE_ENUM (NFS_STATE_MAY_NOTIFY_LOCK );
1036
+ TRACE_DEFINE_ENUM (NFS_STATE_CHANGE_WAIT );
1037
+ TRACE_DEFINE_ENUM (NFS_CLNT_DST_SSC_COPY_STATE );
1038
+ TRACE_DEFINE_ENUM (NFS_CLNT_SRC_SSC_COPY_STATE );
1039
+ TRACE_DEFINE_ENUM (NFS_SRV_SSC_COPY_STATE );
1040
+
1041
+ #define show_nfs4_state_flags (flags ) \
1042
+ __print_flags(flags, "|", \
1043
+ { LK_STATE_IN_USE, "IN_USE" }, \
1044
+ { NFS_DELEGATED_STATE, "DELEGATED" }, \
1045
+ { NFS_OPEN_STATE, "OPEN" }, \
1046
+ { NFS_O_RDONLY_STATE, "O_RDONLY" }, \
1047
+ { NFS_O_WRONLY_STATE, "O_WRONLY" }, \
1048
+ { NFS_O_RDWR_STATE, "O_RDWR" }, \
1049
+ { NFS_STATE_RECLAIM_REBOOT, "RECLAIM_REBOOT" }, \
1050
+ { NFS_STATE_RECLAIM_NOGRACE, "RECLAIM_NOGRACE" }, \
1051
+ { NFS_STATE_POSIX_LOCKS, "POSIX_LOCKS" }, \
1052
+ { NFS_STATE_RECOVERY_FAILED, "RECOVERY_FAILED" }, \
1053
+ { NFS_STATE_MAY_NOTIFY_LOCK, "MAY_NOTIFY_LOCK" }, \
1054
+ { NFS_STATE_CHANGE_WAIT, "CHANGE_WAIT" }, \
1055
+ { NFS_CLNT_DST_SSC_COPY_STATE, "CLNT_DST_SSC_COPY" }, \
1056
+ { NFS_CLNT_SRC_SSC_COPY_STATE, "CLNT_SRC_SSC_COPY" }, \
1057
+ { NFS_SRV_SSC_COPY_STATE, "SRV_SSC_COPY" })
1058
+
1059
+ #define show_nfs4_lock_flags (flags ) \
1060
+ __print_flags(flags, "|", \
1061
+ { BIT(NFS_LOCK_INITIALIZED), "INITIALIZED" }, \
1062
+ { BIT(NFS_LOCK_LOST), "LOST" })
1063
+
1064
+ TRACE_EVENT (nfs4_state_lock_reclaim ,
1065
+ TP_PROTO (
1066
+ const struct nfs4_state * state ,
1067
+ const struct nfs4_lock_state * lock
1068
+ ),
1069
+
1070
+ TP_ARGS (state , lock ),
1071
+
1072
+ TP_STRUCT__entry (
1073
+ __field (dev_t , dev )
1074
+ __field (u32 , fhandle )
1075
+ __field (u64 , fileid )
1076
+ __field (unsigned long , state_flags )
1077
+ __field (unsigned long , lock_flags )
1078
+ __field (int , stateid_seq )
1079
+ __field (u32 , stateid_hash )
1080
+ ),
1081
+
1082
+ TP_fast_assign (
1083
+ const struct inode * inode = state -> inode ;
1084
+
1085
+ __entry -> dev = inode -> i_sb -> s_dev ;
1086
+ __entry -> fileid = NFS_FILEID (inode );
1087
+ __entry -> fhandle = nfs_fhandle_hash (NFS_FH (inode ));
1088
+ __entry -> state_flags = state -> flags ;
1089
+ __entry -> lock_flags = lock -> ls_flags ;
1090
+ __entry -> stateid_seq =
1091
+ be32_to_cpu (state -> stateid .seqid );
1092
+ __entry -> stateid_hash =
1093
+ nfs_stateid_hash (& state -> stateid );
1094
+ ),
1095
+
1096
+ TP_printk (
1097
+ "fileid=%02x:%02x:%llu fhandle=0x%08x "
1098
+ "stateid=%d:0x%08x state_flags=%s lock_flags=%s" ,
1099
+ MAJOR (__entry -> dev ), MINOR (__entry -> dev ),
1100
+ (unsigned long long )__entry -> fileid , __entry -> fhandle ,
1101
+ __entry -> stateid_seq , __entry -> stateid_hash ,
1102
+ show_nfs4_state_flags (__entry -> state_flags ),
1103
+ show_nfs4_lock_flags (__entry -> lock_flags )
1104
+ )
1105
+ )
1106
+
1025
1107
DECLARE_EVENT_CLASS (nfs4_set_delegation_event ,
1026
1108
TP_PROTO (
1027
1109
const struct inode * inode ,
0 commit comments