@@ -749,6 +749,76 @@ TRACE_EVENT_CONDITION(nfsd_seq4_status,
749
749
)
750
750
);
751
751
752
+ DECLARE_EVENT_CLASS (nfsd_cs_slot_class ,
753
+ TP_PROTO (
754
+ const struct nfs4_client * clp ,
755
+ const struct nfsd4_create_session * cs
756
+ ),
757
+ TP_ARGS (clp , cs ),
758
+ TP_STRUCT__entry (
759
+ __field (u32 , seqid )
760
+ __field (u32 , slot_seqid )
761
+ __field (u32 , cl_boot )
762
+ __field (u32 , cl_id )
763
+ __sockaddr (addr , clp -> cl_cb_conn .cb_addrlen )
764
+ ),
765
+ TP_fast_assign (
766
+ const struct nfsd4_clid_slot * slot = & clp -> cl_cs_slot ;
767
+
768
+ __entry -> cl_boot = clp -> cl_clientid .cl_boot ;
769
+ __entry -> cl_id = clp -> cl_clientid .cl_id ;
770
+ __assign_sockaddr (addr , & clp -> cl_cb_conn .cb_addr ,
771
+ clp -> cl_cb_conn .cb_addrlen );
772
+ __entry -> seqid = cs -> seqid ;
773
+ __entry -> slot_seqid = slot -> sl_seqid ;
774
+ ),
775
+ TP_printk ("addr=%pISpc client %08x:%08x seqid=%u slot_seqid=%u" ,
776
+ __get_sockaddr (addr ), __entry -> cl_boot , __entry -> cl_id ,
777
+ __entry -> seqid , __entry -> slot_seqid
778
+ )
779
+ );
780
+
781
+ #define DEFINE_CS_SLOT_EVENT (name ) \
782
+ DEFINE_EVENT(nfsd_cs_slot_class, nfsd_##name, \
783
+ TP_PROTO( \
784
+ const struct nfs4_client *clp, \
785
+ const struct nfsd4_create_session *cs \
786
+ ), \
787
+ TP_ARGS(clp, cs))
788
+
789
+ DEFINE_CS_SLOT_EVENT (slot_seqid_conf );
790
+ DEFINE_CS_SLOT_EVENT (slot_seqid_unconf );
791
+
792
+ TRACE_EVENT (nfsd_slot_seqid_sequence ,
793
+ TP_PROTO (
794
+ const struct nfs4_client * clp ,
795
+ const struct nfsd4_sequence * seq ,
796
+ const struct nfsd4_slot * slot
797
+ ),
798
+ TP_ARGS (clp , seq , slot ),
799
+ TP_STRUCT__entry (
800
+ __field (u32 , seqid )
801
+ __field (u32 , slot_seqid )
802
+ __field (u32 , cl_boot )
803
+ __field (u32 , cl_id )
804
+ __sockaddr (addr , clp -> cl_cb_conn .cb_addrlen )
805
+ __field (bool , in_use )
806
+ ),
807
+ TP_fast_assign (
808
+ __entry -> cl_boot = clp -> cl_clientid .cl_boot ;
809
+ __entry -> cl_id = clp -> cl_clientid .cl_id ;
810
+ __assign_sockaddr (addr , & clp -> cl_cb_conn .cb_addr ,
811
+ clp -> cl_cb_conn .cb_addrlen );
812
+ __entry -> seqid = seq -> seqid ;
813
+ __entry -> slot_seqid = slot -> sl_seqid ;
814
+ ),
815
+ TP_printk ("addr=%pISpc client %08x:%08x seqid=%u slot_seqid=%u (%sin use)" ,
816
+ __get_sockaddr (addr ), __entry -> cl_boot , __entry -> cl_id ,
817
+ __entry -> seqid , __entry -> slot_seqid ,
818
+ __entry -> in_use ? "" : "not "
819
+ )
820
+ );
821
+
752
822
DECLARE_EVENT_CLASS (nfsd_clientid_class ,
753
823
TP_PROTO (const clientid_t * clid ),
754
824
TP_ARGS (clid ),
0 commit comments