108 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM nbd4 5#if !defined(_TRACE_NBD_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_NBD_H7 8#include <linux/tracepoint.h>9 10DECLARE_EVENT_CLASS(nbd_transport_event,11 12 TP_PROTO(struct request *req, u64 handle),13 14 TP_ARGS(req, handle),15 16 TP_STRUCT__entry(17 __field(struct request *, req)18 __field(u64, handle)19 ),20 21 TP_fast_assign(22 __entry->req = req;23 __entry->handle = handle;24 ),25 26 TP_printk(27 "nbd transport event: request %p, handle 0x%016llx",28 __entry->req,29 __entry->handle30 )31);32 33DEFINE_EVENT(nbd_transport_event, nbd_header_sent,34 35 TP_PROTO(struct request *req, u64 handle),36 37 TP_ARGS(req, handle)38);39 40DEFINE_EVENT(nbd_transport_event, nbd_payload_sent,41 42 TP_PROTO(struct request *req, u64 handle),43 44 TP_ARGS(req, handle)45);46 47DEFINE_EVENT(nbd_transport_event, nbd_header_received,48 49 TP_PROTO(struct request *req, u64 handle),50 51 TP_ARGS(req, handle)52);53 54DEFINE_EVENT(nbd_transport_event, nbd_payload_received,55 56 TP_PROTO(struct request *req, u64 handle),57 58 TP_ARGS(req, handle)59);60 61DECLARE_EVENT_CLASS(nbd_send_request,62 63 TP_PROTO(struct nbd_request *nbd_request, int index,64 struct request *rq),65 66 TP_ARGS(nbd_request, index, rq),67 68 TP_STRUCT__entry(69 __field(struct nbd_request *, nbd_request)70 __field(u64, dev_index)71 __field(struct request *, request)72 ),73 74 TP_fast_assign(75 __entry->nbd_request = NULL;76 __entry->dev_index = index;77 __entry->request = rq;78 ),79 80 TP_printk("nbd%lld: request %p", __entry->dev_index, __entry->request)81);82 83#ifdef DEFINE_EVENT_WRITABLE84#undef NBD_DEFINE_EVENT85#define NBD_DEFINE_EVENT(template, call, proto, args, size) \86 DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto), \87 PARAMS(args), size)88#else89#undef NBD_DEFINE_EVENT90#define NBD_DEFINE_EVENT(template, call, proto, args, size) \91 DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args))92#endif93 94NBD_DEFINE_EVENT(nbd_send_request, nbd_send_request,95 96 TP_PROTO(struct nbd_request *nbd_request, int index,97 struct request *rq),98 99 TP_ARGS(nbd_request, index, rq),100 101 sizeof(struct nbd_request)102);103 104#endif105 106/* This part must be outside protection */107#include <trace/define_trace.h>108