LCOV - code coverage report
Current view: top level - include/trace/events - 9p.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 3 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 15 0.0 %

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #undef TRACE_SYSTEM
       3             : #define TRACE_SYSTEM 9p
       4             : 
       5             : #if !defined(_TRACE_9P_H) || defined(TRACE_HEADER_MULTI_READ)
       6             : #define _TRACE_9P_H
       7             : 
       8             : #include <linux/tracepoint.h>
       9             : 
      10             : #define P9_MSG_T                                                        \
      11             :                 EM( P9_TLERROR,         "P9_TLERROR" )                        \
      12             :                 EM( P9_RLERROR,         "P9_RLERROR" )                        \
      13             :                 EM( P9_TSTATFS,         "P9_TSTATFS" )                        \
      14             :                 EM( P9_RSTATFS,         "P9_RSTATFS" )                        \
      15             :                 EM( P9_TLOPEN,          "P9_TLOPEN" )                 \
      16             :                 EM( P9_RLOPEN,          "P9_RLOPEN" )                 \
      17             :                 EM( P9_TLCREATE,        "P9_TLCREATE" )                       \
      18             :                 EM( P9_RLCREATE,        "P9_RLCREATE" )                       \
      19             :                 EM( P9_TSYMLINK,        "P9_TSYMLINK" )                       \
      20             :                 EM( P9_RSYMLINK,        "P9_RSYMLINK" )                       \
      21             :                 EM( P9_TMKNOD,          "P9_TMKNOD" )                 \
      22             :                 EM( P9_RMKNOD,          "P9_RMKNOD" )                 \
      23             :                 EM( P9_TRENAME,         "P9_TRENAME" )                        \
      24             :                 EM( P9_RRENAME,         "P9_RRENAME" )                        \
      25             :                 EM( P9_TREADLINK,       "P9_TREADLINK" )              \
      26             :                 EM( P9_RREADLINK,       "P9_RREADLINK" )              \
      27             :                 EM( P9_TGETATTR,        "P9_TGETATTR" )                       \
      28             :                 EM( P9_RGETATTR,        "P9_RGETATTR" )                       \
      29             :                 EM( P9_TSETATTR,        "P9_TSETATTR" )                       \
      30             :                 EM( P9_RSETATTR,        "P9_RSETATTR" )                       \
      31             :                 EM( P9_TXATTRWALK,      "P9_TXATTRWALK" )             \
      32             :                 EM( P9_RXATTRWALK,      "P9_RXATTRWALK" )             \
      33             :                 EM( P9_TXATTRCREATE,    "P9_TXATTRCREATE" )           \
      34             :                 EM( P9_RXATTRCREATE,    "P9_RXATTRCREATE" )           \
      35             :                 EM( P9_TREADDIR,        "P9_TREADDIR" )                       \
      36             :                 EM( P9_RREADDIR,        "P9_RREADDIR" )                       \
      37             :                 EM( P9_TFSYNC,          "P9_TFSYNC" )                 \
      38             :                 EM( P9_RFSYNC,          "P9_RFSYNC" )                 \
      39             :                 EM( P9_TLOCK,           "P9_TLOCK" )                  \
      40             :                 EM( P9_RLOCK,           "P9_RLOCK" )                  \
      41             :                 EM( P9_TGETLOCK,        "P9_TGETLOCK" )                       \
      42             :                 EM( P9_RGETLOCK,        "P9_RGETLOCK" )                       \
      43             :                 EM( P9_TLINK,           "P9_TLINK" )                  \
      44             :                 EM( P9_RLINK,           "P9_RLINK" )                  \
      45             :                 EM( P9_TMKDIR,          "P9_TMKDIR" )                 \
      46             :                 EM( P9_RMKDIR,          "P9_RMKDIR" )                 \
      47             :                 EM( P9_TRENAMEAT,       "P9_TRENAMEAT" )              \
      48             :                 EM( P9_RRENAMEAT,       "P9_RRENAMEAT" )              \
      49             :                 EM( P9_TUNLINKAT,       "P9_TUNLINKAT" )              \
      50             :                 EM( P9_RUNLINKAT,       "P9_RUNLINKAT" )              \
      51             :                 EM( P9_TVERSION,        "P9_TVERSION" )                       \
      52             :                 EM( P9_RVERSION,        "P9_RVERSION" )                       \
      53             :                 EM( P9_TAUTH,           "P9_TAUTH" )                  \
      54             :                 EM( P9_RAUTH,           "P9_RAUTH" )                  \
      55             :                 EM( P9_TATTACH,         "P9_TATTACH" )                        \
      56             :                 EM( P9_RATTACH,         "P9_RATTACH" )                        \
      57             :                 EM( P9_TERROR,          "P9_TERROR" )                 \
      58             :                 EM( P9_RERROR,          "P9_RERROR" )                 \
      59             :                 EM( P9_TFLUSH,          "P9_TFLUSH" )                 \
      60             :                 EM( P9_RFLUSH,          "P9_RFLUSH" )                 \
      61             :                 EM( P9_TWALK,           "P9_TWALK" )                  \
      62             :                 EM( P9_RWALK,           "P9_RWALK" )                  \
      63             :                 EM( P9_TOPEN,           "P9_TOPEN" )                  \
      64             :                 EM( P9_ROPEN,           "P9_ROPEN" )                  \
      65             :                 EM( P9_TCREATE,         "P9_TCREATE" )                        \
      66             :                 EM( P9_RCREATE,         "P9_RCREATE" )                        \
      67             :                 EM( P9_TREAD,           "P9_TREAD" )                  \
      68             :                 EM( P9_RREAD,           "P9_RREAD" )                  \
      69             :                 EM( P9_TWRITE,          "P9_TWRITE" )                 \
      70             :                 EM( P9_RWRITE,          "P9_RWRITE" )                 \
      71             :                 EM( P9_TCLUNK,          "P9_TCLUNK" )                 \
      72             :                 EM( P9_RCLUNK,          "P9_RCLUNK" )                 \
      73             :                 EM( P9_TREMOVE,         "P9_TREMOVE" )                        \
      74             :                 EM( P9_RREMOVE,         "P9_RREMOVE" )                        \
      75             :                 EM( P9_TSTAT,           "P9_TSTAT" )                  \
      76             :                 EM( P9_RSTAT,           "P9_RSTAT" )                  \
      77             :                 EM( P9_TWSTAT,          "P9_TWSTAT" )                 \
      78             :                 EMe(P9_RWSTAT,          "P9_RWSTAT" )
      79             : 
      80             : /* Define EM() to export the enums to userspace via TRACE_DEFINE_ENUM() */
      81             : #undef EM
      82             : #undef EMe
      83             : #define EM(a, b)        TRACE_DEFINE_ENUM(a);
      84             : #define EMe(a, b)       TRACE_DEFINE_ENUM(a);
      85             : 
      86             : P9_MSG_T
      87             : 
      88             : /*
      89             :  * Now redefine the EM() and EMe() macros to map the enums to the strings
      90             :  * that will be printed in the output.
      91             :  */
      92             : #undef EM
      93             : #undef EMe
      94             : #define EM(a, b)        { a, b },
      95             : #define EMe(a, b)       { a, b }
      96             : 
      97             : #define show_9p_op(type)                                                \
      98             :         __print_symbolic(type, P9_MSG_T)
      99             : 
     100           0 : TRACE_EVENT(9p_client_req,
     101             :             TP_PROTO(struct p9_client *clnt, int8_t type, int tag),
     102             : 
     103             :             TP_ARGS(clnt, type, tag),
     104             : 
     105             :             TP_STRUCT__entry(
     106             :                     __field(    void *,         clnt                         )
     107             :                     __field(    __u8,           type                         )
     108             :                     __field(    __u32,          tag                          )
     109             :                     ),
     110             : 
     111             :             TP_fast_assign(
     112             :                     __entry->clnt    =  clnt;
     113             :                     __entry->type    =  type;
     114             :                     __entry->tag     =  tag;
     115             :                     ),
     116             : 
     117             :             TP_printk("client %lu request %s tag  %d",
     118             :                     (long)__entry->clnt, show_9p_op(__entry->type),
     119             :                     __entry->tag)
     120             :  );
     121             : 
     122           0 : TRACE_EVENT(9p_client_res,
     123             :             TP_PROTO(struct p9_client *clnt, int8_t type, int tag, int err),
     124             : 
     125             :             TP_ARGS(clnt, type, tag, err),
     126             : 
     127             :             TP_STRUCT__entry(
     128             :                     __field(    void *,         clnt                         )
     129             :                     __field(    __u8,           type                         )
     130             :                     __field(    __u32,          tag                          )
     131             :                     __field(    __u32,          err                          )
     132             :                     ),
     133             : 
     134             :             TP_fast_assign(
     135             :                     __entry->clnt    =  clnt;
     136             :                     __entry->type    =  type;
     137             :                     __entry->tag     =  tag;
     138             :                     __entry->err     =  err;
     139             :                     ),
     140             : 
     141             :             TP_printk("client %lu response %s tag  %d err %d",
     142             :                       (long)__entry->clnt, show_9p_op(__entry->type),
     143             :                       __entry->tag, __entry->err)
     144             : );
     145             : 
     146             : /* dump 32 bytes of protocol data */
     147             : #define P9_PROTO_DUMP_SZ 32
     148           0 : TRACE_EVENT(9p_protocol_dump,
     149             :             TP_PROTO(struct p9_client *clnt, struct p9_fcall *pdu),
     150             : 
     151             :             TP_ARGS(clnt, pdu),
     152             : 
     153             :             TP_STRUCT__entry(
     154             :                     __field(    void *,         clnt                            )
     155             :                     __field(    __u8,           type                            )
     156             :                     __field(    __u16,          tag                             )
     157             :                     __array(    unsigned char,  line,   P9_PROTO_DUMP_SZ        )
     158             :                     ),
     159             : 
     160             :             TP_fast_assign(
     161             :                     __entry->clnt   =  clnt;
     162             :                     __entry->type   =  pdu->id;
     163             :                     __entry->tag    =  pdu->tag;
     164             :                     memcpy(__entry->line, pdu->sdata, P9_PROTO_DUMP_SZ);
     165             :                     ),
     166             :             TP_printk("clnt %lu %s(tag = %d)\n%.3x: %16ph\n%.3x: %16ph\n",
     167             :                       (unsigned long)__entry->clnt, show_9p_op(__entry->type),
     168             :                       __entry->tag, 0, __entry->line, 16, __entry->line + 16)
     169             :  );
     170             : 
     171             : #endif /* _TRACE_9P_H */
     172             : 
     173             : /* This part must be outside protection */
     174             : #include <trace/define_trace.h>

Generated by: LCOV version 1.14