1*ea106722SMatt Mullins /* SPDX-License-Identifier: GPL-2.0 */ 2*ea106722SMatt Mullins #undef TRACE_SYSTEM 3*ea106722SMatt Mullins #define TRACE_SYSTEM nbd 4*ea106722SMatt Mullins 5*ea106722SMatt Mullins #if !defined(_TRACE_NBD_H) || defined(TRACE_HEADER_MULTI_READ) 6*ea106722SMatt Mullins #define _TRACE_NBD_H 7*ea106722SMatt Mullins 8*ea106722SMatt Mullins #include <linux/tracepoint.h> 9*ea106722SMatt Mullins 10*ea106722SMatt Mullins DECLARE_EVENT_CLASS(nbd_send_request, 11*ea106722SMatt Mullins 12*ea106722SMatt Mullins TP_PROTO(struct nbd_request *nbd_request, int index, 13*ea106722SMatt Mullins struct request *rq), 14*ea106722SMatt Mullins 15*ea106722SMatt Mullins TP_ARGS(nbd_request, index, rq), 16*ea106722SMatt Mullins 17*ea106722SMatt Mullins TP_STRUCT__entry( 18*ea106722SMatt Mullins __field(struct nbd_request *, nbd_request) 19*ea106722SMatt Mullins __field(u64, dev_index) 20*ea106722SMatt Mullins __field(struct request *, request) 21*ea106722SMatt Mullins ), 22*ea106722SMatt Mullins 23*ea106722SMatt Mullins TP_fast_assign( 24*ea106722SMatt Mullins __entry->nbd_request = 0; 25*ea106722SMatt Mullins __entry->dev_index = index; 26*ea106722SMatt Mullins __entry->request = rq; 27*ea106722SMatt Mullins ), 28*ea106722SMatt Mullins 29*ea106722SMatt Mullins TP_printk("nbd%lld: request %p", __entry->dev_index, __entry->request) 30*ea106722SMatt Mullins ); 31*ea106722SMatt Mullins 32*ea106722SMatt Mullins #ifdef DEFINE_EVENT_WRITABLE 33*ea106722SMatt Mullins #undef NBD_DEFINE_EVENT 34*ea106722SMatt Mullins #define NBD_DEFINE_EVENT(template, call, proto, args, size) \ 35*ea106722SMatt Mullins DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto), \ 36*ea106722SMatt Mullins PARAMS(args), size) 37*ea106722SMatt Mullins #else 38*ea106722SMatt Mullins #undef NBD_DEFINE_EVENT 39*ea106722SMatt Mullins #define NBD_DEFINE_EVENT(template, call, proto, args, size) \ 40*ea106722SMatt Mullins DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args)) 41*ea106722SMatt Mullins #endif 42*ea106722SMatt Mullins 43*ea106722SMatt Mullins NBD_DEFINE_EVENT(nbd_send_request, nbd_send_request, 44*ea106722SMatt Mullins 45*ea106722SMatt Mullins TP_PROTO(struct nbd_request *nbd_request, int index, 46*ea106722SMatt Mullins struct request *rq), 47*ea106722SMatt Mullins 48*ea106722SMatt Mullins TP_ARGS(nbd_request, index, rq), 49*ea106722SMatt Mullins 50*ea106722SMatt Mullins sizeof(struct nbd_request) 51*ea106722SMatt Mullins ); 52*ea106722SMatt Mullins 53*ea106722SMatt Mullins #endif 54*ea106722SMatt Mullins 55*ea106722SMatt Mullins /* This part must be outside protection */ 56*ea106722SMatt Mullins #include <trace/define_trace.h> 57