LCOV - code coverage report
Current view: top level - include/trace/events - 9p.h (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 3 0.0 %
Date: 2022-03-28 15:32:58 Functions: 0 12 0.0 %
Branches: 0 24 0.0 %

           Branch data     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