1    	
2    	#undef TRACEPOINT_PROVIDER
3    	#define TRACEPOINT_PROVIDER librbd
4    	
5    	#undef TRACEPOINT_INCLUDE
6    	#define TRACEPOINT_INCLUDE "./tracing/librbd.h"
7    	
8    	#if !defined(TRACING_LIBRBD_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
9    	#define TRACING_LIBRBD_H
10   	
11   	#include <lttng/tracepoint.h>
12   	
13   	#include "tracing/tracing-common.h"
14   	#include "include/rbd/librbd.h"
15   	#include "include/int_types.h"
16   	
17   	TRACEPOINT_EVENT(librbd, read_enter,
18   	    TP_ARGS(
19   	        void*, imagectx,
20   	        const char*, name,
21   	        const char*, snap_name,
22   	        char, read_only,
23   	        uint64_t, offset,
24   	        uint64_t, length),
25   	    TP_FIELDS(
26   	        ctf_integer_hex(void*, imagectx, imagectx)
27   	        ctf_string(name, name)
28   	        ctf_string(snap_name, snap_name)
29   	        ctf_integer(char, read_only, read_only)
30   	        ctf_integer(uint64_t, offset, offset)
31   	        ctf_integer(uint64_t, length, length)
32   	    )
33   	)
34   	
35   	TRACEPOINT_EVENT(librbd, read2_enter,
36   	    TP_ARGS(
37   	        void*, imagectx,
38   	        const char*, name,
39   	        const char*, snap_name,
40   	        char, read_only,
41   	        uint64_t, offset,
42   	        uint64_t, length,
43   		int, op_flags),
44   	    TP_FIELDS(
45   	        ctf_integer_hex(void*, imagectx, imagectx)
46   	        ctf_string(name, name)
47   	        ctf_string(snap_name, snap_name)
48   	        ctf_integer(char, read_only, read_only)
49   	        ctf_integer(uint64_t, offset, offset)
50   	        ctf_integer(uint64_t, length, length)
51   	        ctf_integer(int, op_flags, op_flags)
52   	    )
53   	)
54   	TRACEPOINT_EVENT(librbd, read_exit,
55   	    TP_ARGS(
56   	        ssize_t, retval),
57   	    TP_FIELDS(
58   	        ctf_integer(ssize_t, retval, retval)
59   	    )
60   	)
61   	
62   	TRACEPOINT_EVENT(librbd, read_iterate_enter,
63   	    TP_ARGS(
64   	        void*, imagectx,
65   	        const char*, name,
66   	        const char*, snap_name,
67   	        char, read_only,
68   	        uint64_t, offset,
69   	        uint64_t, length),
70   	    TP_FIELDS(
71   	        ctf_integer_hex(void*, imagectx, imagectx)
72   	        ctf_string(name, name)
73   	        ctf_string(snap_name, snap_name)
74   	        ctf_integer(char, read_only, read_only)
75   	        ctf_integer(uint64_t, offset, offset)
76   	        ctf_integer(uint64_t, length, length)
77   	    )
78   	)
79   	
80   	TRACEPOINT_EVENT(librbd, read_iterate_exit,
81   	    TP_ARGS(
82   	        int64_t, retval),
83   	    TP_FIELDS(
84   	        ctf_integer(int64_t, retval, retval)
85   	    )
86   	)
87   	
88   	TRACEPOINT_EVENT(librbd, read_iterate2_enter,
89   	    TP_ARGS(
90   	        void*, imagectx,
91   	        const char*, name,
92   	        const char*, snap_name,
93   	        char, read_only,
94   	        uint64_t, offset,
95   	        uint64_t, length),
96   	    TP_FIELDS(
97   	        ctf_integer_hex(void*, imagectx, imagectx)
98   	        ctf_string(name, name)
99   	        ctf_string(snap_name, snap_name)
100  	        ctf_integer(char, read_only, read_only)
101  	        ctf_integer(uint64_t, offset, offset)
102  	        ctf_integer(uint64_t, length, length)
103  	    )
104  	)
105  	
106  	TRACEPOINT_EVENT(librbd, read_iterate2_exit,
107  	    TP_ARGS(
108  	        int, retval),
109  	    TP_FIELDS(
110  	        ctf_integer(int, retval, retval)
111  	    )
112  	)
113  	
114  	TRACEPOINT_EVENT(librbd, write_enter,
115  	    TP_ARGS(
116  	        void*, imagectx,
117  	        const char*, name,
118  	        const char*, snap_name,
119  	        char, read_only,
120  	        uint64_t, off,
121  	        size_t, len,
122  	        const char*, buf),
123  	    TP_FIELDS(
124  	        ctf_integer_hex(void*, imagectx, imagectx)
125  	        ctf_string(name, name)
126  	        ctf_string(snap_name, snap_name)
127  	        ctf_integer(char, read_only, read_only)
128  	        ctf_integer(uint64_t, off, off)
129  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
130  	    )
131  	)
132  	
133  	TRACEPOINT_EVENT(librbd, write2_enter,
134  	    TP_ARGS(
135  	        void*, imagectx,
136  	        const char*, name,
137  	        const char*, snap_name,
138  	        char, read_only,
139  	        uint64_t, off,
140  	        size_t, len,
141  	        const char*, buf,
142  		int, op_flags),
143  	    TP_FIELDS(
144  	        ctf_integer_hex(void*, imagectx, imagectx)
145  	        ctf_string(name, name)
146  	        ctf_string(snap_name, snap_name)
147  	        ctf_integer(char, read_only, read_only)
148  	        ctf_integer(uint64_t, off, off)
149  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
150  	        ctf_integer(int, op_flags, op_flags)
151  	    )
152  	)
153  	
154  	
155  	TRACEPOINT_EVENT(librbd, write_exit,
156  	    TP_ARGS(
157  	        ssize_t, retval),
158  	    TP_FIELDS(
159  	        ctf_integer(ssize_t, retval, retval)
160  	    )
161  	)
162  	
163  	TRACEPOINT_EVENT(librbd, open_image_enter,
164  	    TP_ARGS(
165  	        void*, imagectx,
166  	        const char*, name,
167  	        const char*, id,
168  	        const char*, snap_name,
169  	        int, read_only),
170  	    TP_FIELDS(
171  	        ctf_integer_hex(void*, imagectx, imagectx)
172  	        ctf_string(name, name)
173  	        ctf_string(id, id)
174  	        ctf_string(snap_name, snap_name)
175  	        ctf_integer(uint8_t, read_only, read_only ? 1 : 0)
176  	    )
177  	)
178  	
179  	TRACEPOINT_EVENT(librbd, open_image_exit,
180  	    TP_ARGS(
181  	        int, retval),
182  	    TP_FIELDS(
183  	        ctf_integer(int, retval, retval)
184  	    )
185  	)
186  	
187  	TRACEPOINT_EVENT(librbd, writesame_enter,
188  	    TP_ARGS(
189  	        void*, imagectx,
190  	        const char*, name,
191  	        const char*, snap_name,
192  	        char, read_only,
193  	        uint64_t, off,
194  	        size_t, len,
195  	        const char*, buf,
196  		size_t, data_len,
197  		int, op_flags),
198  	    TP_FIELDS(
199  	        ctf_integer_hex(void*, imagectx, imagectx)
200  	        ctf_string(name, name)
201  	        ctf_string(snap_name, snap_name)
202  	        ctf_integer(char, read_only, read_only)
203  	        ctf_integer(uint64_t, off, off)
204  	        ctf_integer(size_t, len, len)
205  	        ctf_integer(size_t, data_len, data_len)
206  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, data_len)
207  	        ctf_integer(int, op_flags, op_flags)
208  	    )
209  	)
210  	
211  	TRACEPOINT_EVENT(librbd, writesame_exit,
212  	    TP_ARGS(
213  	        ssize_t, retval),
214  	    TP_FIELDS(
215  	        ctf_integer(ssize_t, retval, retval)
216  	    )
217  	)
218  	
219  	TRACEPOINT_EVENT(librbd, compare_and_write_enter,
220  	    TP_ARGS(
221  	        void*, imagectx,
222  	        const char*, name,
223  	        const char*, snap_name,
224  	        char, read_only,
225  	        uint64_t, off,
226  	        size_t, len,
227  	        const char*, cmp_buf,
228  	        const char*, buf,
229  		int, op_flags),
230  	    TP_FIELDS(
231  	        ctf_integer_hex(void*, imagectx, imagectx)
232  	        ctf_string(name, name)
233  	        ctf_string(snap_name, snap_name)
234  	        ctf_integer(char, read_only, read_only)
235  	        ctf_integer(uint64_t, off, off)
236  	        ceph_ctf_sequence(unsigned char, cmp_buf, cmp_buf, size_t, len)
237  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
238  	        ctf_integer(int, op_flags, op_flags)
239  	    )
240  	)
241  	
242  	TRACEPOINT_EVENT(librbd, compare_and_write_exit,
243  	    TP_ARGS(
244  	        ssize_t, retval),
245  	    TP_FIELDS(
246  	        ctf_integer(ssize_t, retval, retval)
247  	    )
248  	)
249  	
250  	TRACEPOINT_EVENT(librbd, open_image_by_id_enter,
251  	    TP_ARGS(
252  	        void*, imagectx,
253  	        const char*, id,
254  	        const char*, snap_name,
255  	        int, read_only),
256  	    TP_FIELDS(
257  	        ctf_integer_hex(void*, imagectx, imagectx)
258  	        ctf_string(id, id)
259  	        ctf_string(snap_name, snap_name)
260  	        ctf_integer(uint8_t, read_only, read_only ? 1 : 0)
261  	    )
262  	)
263  	
264  	TRACEPOINT_EVENT(librbd, open_image_by_id_exit,
265  	    TP_ARGS(
266  	        int, retval),
267  	    TP_FIELDS(
268  	        ctf_integer(int, retval, retval)
269  	    )
270  	)
271  	
272  	TRACEPOINT_EVENT(librbd, aio_open_image_enter,
273  	    TP_ARGS(
274  	        void*, imagectx,
275  	        const char*, name,
276  	        const char*, id,
277  	        const char*, snap_name,
278  	        int, read_only,
279  	        const void*, completion),
280  	    TP_FIELDS(
281  	        ctf_integer_hex(void*, imagectx, imagectx)
282  	        ctf_string(name, name)
283  	        ctf_string(id, id)
284  	        ctf_string(snap_name, snap_name)
285  	        ctf_integer(uint8_t, read_only, read_only ? 1 : 0)
286  	        ctf_integer_hex(const void*, completion, completion)
287  	    )
288  	)
289  	
290  	TRACEPOINT_EVENT(librbd, aio_open_image_exit,
291  	    TP_ARGS(
292  	        int, retval),
293  	    TP_FIELDS(
294  	        ctf_integer(int, retval, retval)
295  	    )
296  	)
297  	
298  	TRACEPOINT_EVENT(librbd, aio_open_image_by_id_enter,
299  	    TP_ARGS(
300  	        void*, imagectx,
301  	        const char*, id,
302  	        const char*, snap_name,
303  	        int, read_only,
304  	        const void*, completion),
305  	    TP_FIELDS(
306  	        ctf_integer_hex(void*, imagectx, imagectx)
307  	        ctf_string(id, id)
308  	        ctf_string(snap_name, snap_name)
309  	        ctf_integer(uint8_t, read_only, read_only ? 1 : 0)
310  	        ctf_integer_hex(const void*, completion, completion)
311  	    )
312  	)
313  	
314  	TRACEPOINT_EVENT(librbd, aio_open_image_by_id_exit,
315  	    TP_ARGS(
316  	        int, retval),
317  	    TP_FIELDS(
318  	        ctf_integer(int, retval, retval)
319  	    )
320  	)
321  	
322  	TRACEPOINT_EVENT(librbd, close_image_enter,
323  	    TP_ARGS(
324  	        void*, imagectx,
325  	        const char*, name,
326  	        const char*, id),
327  	    TP_FIELDS(
328  	        ctf_integer_hex(void*, imagectx, imagectx)
329  	        ctf_string(name, name)
330  	        ctf_string(id, id)
331  	    )
332  	)
333  	
334  	TRACEPOINT_EVENT(librbd, close_image_exit,
335  	    TP_ARGS(
336  		int, retval),
337  	    TP_FIELDS(
338  		ctf_integer(int, retval, retval))
339  	)
340  	
341  	TRACEPOINT_EVENT(librbd, aio_close_image_enter,
342  	    TP_ARGS(
343  	        void*, imagectx,
344  	        const char*, name,
345  	        const char*, id,
346  	        const void*, completion),
347  	    TP_FIELDS(
348  	        ctf_integer_hex(void*, imagectx, imagectx)
349  	        ctf_string(name, name)
350  	        ctf_string(id, id)
351  	        ctf_integer_hex(const void*, completion, completion)
352  	    )
353  	)
354  	
355  	TRACEPOINT_EVENT(librbd, aio_close_image_exit,
356  	    TP_ARGS(
357  		int, retval),
358  	    TP_FIELDS(
359  		ctf_integer(int, retval, retval))
360  	)
361  	
362  	TRACEPOINT_EVENT(librbd, list_enter,
363  	    TP_ARGS(
364  	        const char*, pool_name,
365  	        int64_t, id),
366  	    TP_FIELDS(
367  	        ctf_string(pool_name, pool_name)
368  	        ctf_integer(int64_t, id, id)
369  	    )
370  	)
371  	
372  	TRACEPOINT_EVENT(librbd, list_entry,
373  	    TP_ARGS(
374  	        const char*, name),
375  	    TP_FIELDS(
376  	        ctf_string(name, name)
377  	    )
378  	)
379  	
380  	TRACEPOINT_EVENT(librbd, list_exit,
381  	    TP_ARGS(
382  	        int, retval,
383  	        int, size),
384  	    TP_FIELDS(
385  	        ctf_integer(int, retval, retval)
386  	        ctf_integer(size_t, size, size)
387  	    )
388  	)
389  	
390  	TRACEPOINT_EVENT(librbd, create_enter,
391  	    TP_ARGS(
392  	        const char*, pool_name,
393  	        int64_t, id,
394  	        const char*, imgname,
395  	        uint64_t, size,
396  	        int, order),
397  	    TP_FIELDS(
398  	        ctf_string(pool_name, pool_name)
399  	        ctf_integer(int64_t, id, id)
400  	        ctf_string(imgname, imgname)
401  	        ctf_integer(uint64_t, size, size)
402  	        ctf_integer(int, order, order)
403  	    )
404  	)
405  	
406  	TRACEPOINT_EVENT(librbd, create_exit,
407  	    TP_ARGS(
408  	        int, retval,
409  	        int, order),
410  	    TP_FIELDS(
411  	        ctf_integer(int, retval, retval)
412  	        ctf_integer(int, order, order)
413  	    )
414  	)
415  	
416  	TRACEPOINT_EVENT(librbd, create2_enter,
417  	    TP_ARGS(
418  	        const char*, pool_name,
419  	        int64_t, id,
420  	        const char*, imgname,
421  	        uint64_t, size,
422  	        uint64_t, features,
423  	        int, order),
424  	    TP_FIELDS(
425  	        ctf_string(pool_name, pool_name)
426  	        ctf_integer(int64_t, id, id)
427  	        ctf_string(imgname, imgname)
428  	        ctf_integer(uint64_t, size, size)
429  	        ctf_integer(uint64_t, features, features)
430  	        ctf_integer(int, order, order)
431  	    )
432  	)
433  	
434  	TRACEPOINT_EVENT(librbd, create2_exit,
435  	    TP_ARGS(
436  	        int, retval,
437  	        int, order),
438  	    TP_FIELDS(
439  	        ctf_integer(int, retval, retval)
440  	        ctf_integer(int, order, order)
441  	    )
442  	)
443  	
444  	TRACEPOINT_EVENT(librbd, create3_enter,
445  	    TP_ARGS(
446  	        const char*, pool_name,
447  	        int64_t, id,
448  	        const char*, imgname,
449  	        uint64_t, size,
450  	        uint64_t, features,
451  	        int, order,
452  	        uint64_t, stripe_unit,
453  	        uint64_t, stripe_count),
454  	    TP_FIELDS(
455  	        ctf_string(pool_name, pool_name)
456  	        ctf_integer(int64_t, id, id)
457  	        ctf_string(imgname, imgname)
458  	        ctf_integer(uint64_t, size, size)
459  	        ctf_integer(uint64_t, features, features)
460  	        ctf_integer(int, order, order)
461  	        ctf_integer(uint64_t, stripe_unit, stripe_unit)
462  	        ctf_integer(uint64_t, stripe_count, stripe_count)
463  	    )
464  	)
465  	
466  	TRACEPOINT_EVENT(librbd, create3_exit,
467  	    TP_ARGS(
468  	        int, retval,
469  	        int, order),
470  	    TP_FIELDS(
471  	        ctf_integer(int, retval, retval)
472  	        ctf_integer(int, order, order)
473  	    )
474  	)
475  	
476  	TRACEPOINT_EVENT(librbd, create4_enter,
477  	    TP_ARGS(
478  	        const char*, pool_name,
479  	        int64_t, id,
480  	        const char*, imgname,
481  	        uint64_t, size,
482  	        void*, opts),
483  	    TP_FIELDS(
484  	        ctf_string(pool_name, pool_name)
485  	        ctf_integer(int64_t, id, id)
486  	        ctf_string(imgname, imgname)
487  	        ctf_integer_hex(void*, opts, opts)
488  	    )
489  	)
490  	
491  	TRACEPOINT_EVENT(librbd, create4_exit,
492  	    TP_ARGS(
493  	        int, retval),
494  	    TP_FIELDS(
495  	        ctf_integer(int, retval, retval)
496  	    )
497  	)
498  	
499  	TRACEPOINT_EVENT(librbd, remove_enter,
500  	    TP_ARGS(
501  	        const char*, pool_name,
502  	        int64_t, id,
503  	        const char*, imgname),
504  	    TP_FIELDS(
505  	        ctf_string(pool_name, pool_name)
506  	        ctf_integer(int64_t, id, id)
507  	        ctf_string(imgname, imgname)
508  	    )
509  	)
510  	
511  	TRACEPOINT_EVENT(librbd, remove_exit,
512  	    TP_ARGS(
513  	        int, retval),
514  	    TP_FIELDS(
515  	        ctf_integer(int, retval, retval)
516  	    )
517  	)
518  	
519  	TRACEPOINT_EVENT(librbd, trash_move_enter,
520  	    TP_ARGS(
521  	        const char*, pool_name,
522  	        int64_t, id,
523  	        const char*, imgname),
524  	    TP_FIELDS(
525  	        ctf_string(pool_name, pool_name)
526  	        ctf_integer(int64_t, id, id)
527  	        ctf_string(imgname, imgname)
528  	    )
529  	)
530  	
531  	TRACEPOINT_EVENT(librbd, trash_move_exit,
532  	    TP_ARGS(
533  	        int, retval),
534  	    TP_FIELDS(
535  	        ctf_integer(int, retval, retval)
536  	    )
537  	)
538  	
539  	TRACEPOINT_EVENT(librbd, trash_list_enter,
540  	    TP_ARGS(
541  	        const char*, pool_name,
542  	        int64_t, id),
543  	    TP_FIELDS(
544  	        ctf_string(pool_name, pool_name)
545  	        ctf_integer(int64_t, id, id)
546  	    )
547  	)
548  	
549  	TRACEPOINT_EVENT(librbd, trash_list_entry,
550  	    TP_ARGS(
551  	        const char*, id),
552  	    TP_FIELDS(
553  	        ctf_string(id, id)
554  	    )
555  	)
556  	
557  	TRACEPOINT_EVENT(librbd, trash_list_exit,
558  	    TP_ARGS(
559  	        int, retval,
560  	        int, size),
561  	    TP_FIELDS(
562  	        ctf_integer(int, retval, retval)
563  	        ctf_integer(size_t, size, size)
564  	    )
565  	)
566  	
567  	TRACEPOINT_EVENT(librbd, trash_purge_enter,
568  	    TP_ARGS(
569  	        const char*, pool_name,
570  	        int64_t, id,
571  	        time_t, expire_ts,
572  	        float, threshold),
573  	    TP_FIELDS(
574  	        ctf_string(pool_name, pool_name)
575  	        ctf_integer(int64_t, id, id)
576  	        ceph_ctf_time_t(expire_ts, expire_ts)
577  	        ctf_float(float, threshold, threshold)
578  	    )
579  	)
580  	
581  	TRACEPOINT_EVENT(librbd, trash_purge_exit,
582  	    TP_ARGS(int, retval),
583  	    TP_FIELDS(
584  	        ctf_integer(int, retval, retval)
585  	    )
586  	)
587  	
588  	TRACEPOINT_EVENT(librbd, trash_remove_enter,
589  	    TP_ARGS(
590  	        const char*, pool_name,
591  	        int64_t, id,
592  	        const char*, imgid,
593  	        uint8_t, force),
594  	    TP_FIELDS(
595  	        ctf_string(pool_name, pool_name)
596  	        ctf_integer(int64_t, id, id)
597  	        ctf_string(imgid, imgid)
598  	        ctf_integer(uint8_t, force, force)
599  	    )
600  	)
601  	
602  	TRACEPOINT_EVENT(librbd, trash_remove_exit,
603  	    TP_ARGS(
604  	        int, retval),
605  	    TP_FIELDS(
606  	        ctf_integer(int, retval, retval)
607  	    )
608  	)
609  	
610  	TRACEPOINT_EVENT(librbd, trash_undelete_enter,
611  	    TP_ARGS(
612  	        const char*, pool_name,
613  	        int64_t, id,
614  	        const char*, imgid,
615  	        const char*, imgnewname),
616  	    TP_FIELDS(
617  	        ctf_string(pool_name, pool_name)
618  	        ctf_integer(int64_t, id, id)
619  	        ctf_string(imgid, imgid)
620  	        ctf_string(imgnewname, imgnewname)
621  	    )
622  	)
623  	
624  	TRACEPOINT_EVENT(librbd, trash_undelete_exit,
625  	    TP_ARGS(
626  	        int, retval),
627  	    TP_FIELDS(
628  	        ctf_integer(int, retval, retval)
629  	    )
630  	)
631  	
632  	TRACEPOINT_EVENT(librbd, aio_write_enter,
633  	    TP_ARGS(
634  	        void*, imagectx,
635  	        const char*, name,
636  	        const char*, snap_name,
637  	        char, read_only,
638  	        uint64_t, off,
639  	        size_t, len,
640  	        const char*, buf,
641  	        const void*, completion),
642  	    TP_FIELDS(
643  	        ctf_integer_hex(void*, imagectx, imagectx)
644  	        ctf_string(name, name)
645  	        ctf_string(snap_name, snap_name)
646  	        ctf_integer(char, read_only, read_only)
647  	        ctf_integer(uint64_t, off, off)
648  	        ctf_integer(size_t, len, len)
649  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
650  	        ctf_integer_hex(const void*, completion, completion)
651  	    )
652  	)
653  	
654  	TRACEPOINT_EVENT(librbd, aio_write2_enter,
655  	    TP_ARGS(
656  	        void*, imagectx,
657  	        const char*, name,
658  	        const char*, snap_name,
659  	        char, read_only,
660  	        uint64_t, off,
661  	        size_t, len,
662  	        const char*, buf,
663  	        const void*, completion,
664  		int, op_flags),
665  	    TP_FIELDS(
666  	        ctf_integer_hex(void*, imagectx, imagectx)
667  	        ctf_string(name, name)
668  	        ctf_string(snap_name, snap_name)
669  	        ctf_integer(char, read_only, read_only)
670  	        ctf_integer(uint64_t, off, off)
671  	        ctf_integer(size_t, len, len)
672  	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
673  	        ctf_integer_hex(const void*, completion, completion)
674  	        ctf_integer(int, op_flags, op_flags)
675  	    )
676  	)
677  	TRACEPOINT_EVENT(librbd, aio_write_exit,
678  	    TP_ARGS(
679  	        int, retval),
680  	    TP_FIELDS(
681  	        ctf_integer(int, retval, retval)
682  	    )
683  	)
684  	
685  	TRACEPOINT_EVENT(librbd, aio_read_enter,
686  	    TP_ARGS(
687  	        void*, imagectx,
688  	        const char*, name,
689  	        const char*, snap_name,
690  	        char, read_only,
691  	        uint64_t, offset,
692  	        uint64_t, length,
693  	        const char*, buf,
694  	        const void*, completion),
695  	    TP_FIELDS(
696  	        ctf_integer_hex(void*, imagectx, imagectx)
697  	        ctf_string(name, name)
698  	        ctf_string(snap_name, snap_name)
699  	        ctf_integer(char, read_only, read_only)
700  	        ctf_integer(uint64_t, offset, offset)
701  	        ctf_integer(uint64_t, length, length)
702  	        ctf_integer_hex(const void*, completion, completion)
703  	    )
704  	)
705  	
706  	TRACEPOINT_EVENT(librbd, aio_read2_enter,
707  	    TP_ARGS(
708  	        void*, imagectx,
709  	        const char*, name,
710  	        const char*, snap_name,
711  	        char, read_only,
712  	        uint64_t, offset,
713  	        uint64_t, length,
714  	        const char*, buf,
715  	        const void*, completion,
716  		int, op_flags),
717  	    TP_FIELDS(
718  	        ctf_integer_hex(void*, imagectx, imagectx)
719  	        ctf_string(name, name)
720  	        ctf_string(snap_name, snap_name)
721  	        ctf_integer(char, read_only, read_only)
722  	        ctf_integer(uint64_t, offset, offset)
723  	        ctf_integer(uint64_t, length, length)
724  	        ctf_integer_hex(const void*, completion, completion)
725  	        ctf_integer(int, op_flags, op_flags)
726  	    )
727  	)
728  	
729  	
730  	TRACEPOINT_EVENT(librbd, aio_read_exit,
731  	    TP_ARGS(
732  	        int, retval),
733  	    TP_FIELDS(
734  	        ctf_integer(int, retval, retval)
735  	    )
736  	)
737  	
738  	TRACEPOINT_EVENT(librbd, aio_discard_enter,
739  	    TP_ARGS(
740  	        void*, imagectx,
741  	        const char*, name,
742  	        const char*, snap_name,
743  	        char, read_only,
744  	        uint64_t, off,
745  	        uint64_t, len,
746  	        void*, completion),
747  	    TP_FIELDS(
748  	        ctf_integer_hex(void*, imagectx, imagectx)
749  	        ctf_string(name, name)
750  	        ctf_string(snap_name, snap_name)
751  	        ctf_integer(char, read_only, read_only)
752  	        ctf_integer(uint64_t, off, off)
753  	        ctf_integer(uint64_t, len, len)
754  	        ctf_integer_hex(void*, completion, completion)
755  	    )
756  	)
757  	
758  	TRACEPOINT_EVENT(librbd, aio_discard_exit,
759  	    TP_ARGS(
760  	        int, retval),
761  	    TP_FIELDS(
762  	        ctf_integer(int, retval, retval)
763  	    )
764  	)
765  	
766  	TRACEPOINT_EVENT(librbd, invalidate_cache_enter,
767  	    TP_ARGS(
768  	        void*, imagectx,
769  	        const char*, name,
770  	        const char*, snap_name,
771  	        char, read_only),
772  	    TP_FIELDS(
773  	        ctf_integer_hex(void*, imagectx, imagectx)
774  	        ctf_string(name, name)
775  	        ctf_string(snap_name, snap_name)
776  	        ctf_integer(char, read_only, read_only)
777  	    )
778  	)
779  	
780  	TRACEPOINT_EVENT(librbd, invalidate_cache_exit,
781  	    TP_ARGS(
782  	        int, retval),
783  	    TP_FIELDS(
784  	        ctf_integer(int, retval, retval)
785  	    )
786  	)
787  	
788  	TRACEPOINT_EVENT(librbd, poll_io_events_enter,
789  	    TP_ARGS(
790  	        void*, imagectx,
791  	        int, numcomp),
792  	    TP_FIELDS(
793  	        ctf_integer_hex(void*, imagectx, imagectx)
794  	        ctf_integer(int, numcomp, numcomp)
795  	    )
796  	)
797  	
798  	TRACEPOINT_EVENT(librbd, poll_io_events_exit,
799  	    TP_ARGS(
800  	        int, retval),
801  	    TP_FIELDS(
802  	        ctf_integer(int, retval, retval)
803  	    )
804  	)
805  	TRACEPOINT_EVENT(librbd, metadata_get_enter,
806  	    TP_ARGS(
807  	        void*, imagectx,
808  	        const char*, key),
809  	    TP_FIELDS(
810  	        ctf_integer_hex(void*, imagectx, imagectx)
811  	        ctf_string(key, key)
812  	    )
813  	)
814  	
815  	TRACEPOINT_EVENT(librbd, metadata_get_exit,
816  	    TP_ARGS(
817  	        int, retval,
818  	        const char*, key,
819  	        const char*, value),
820  	    TP_FIELDS(
821  	        ctf_integer(int, retval, retval)
822  	        ctf_string(key, key)
823  	        ctf_string(value, value)
824  	    )
825  	)
826  	
827  	TRACEPOINT_EVENT(librbd, metadata_set_enter,
828  	    TP_ARGS(
829  	        void*, imagectx,
830  	        const char*, key,
831  	        const char*, value),
832  	    TP_FIELDS(
833  	        ctf_integer_hex(void*, imagectx, imagectx)
834  	        ctf_string(key, key)
835  	        ctf_string(value, value)
836  	    )
837  	)
838  	
839  	TRACEPOINT_EVENT(librbd, metadata_set_exit,
840  	    TP_ARGS(
841  	        int, retval),
842  	    TP_FIELDS(
843  	        ctf_integer(int, retval, retval)
844  	    )
845  	)
846  	
847  	TRACEPOINT_EVENT(librbd, metadata_remove_enter,
848  	    TP_ARGS(
849  	        void*, imagectx,
850  	        const char*, key),
851  	    TP_FIELDS(
852  	        ctf_integer_hex(void*, imagectx, imagectx)
853  	        ctf_string(key, key)
854  	    )
855  	)
856  	
857  	TRACEPOINT_EVENT(librbd, metadata_remove_exit,
858  	    TP_ARGS(
859  	        int, retval),
860  	    TP_FIELDS(
861  	        ctf_integer(int, retval, retval)
862  	    )
863  	)
864  	
865  	TRACEPOINT_EVENT(librbd, metadata_list_enter,
866  	    TP_ARGS(
867  	        void*, imagectx),
868  	    TP_FIELDS(
869  	        ctf_integer_hex(void*, imagectx, imagectx)
870  	    )
871  	)
872  	
873  	TRACEPOINT_EVENT(librbd, metadata_list_entry,
874  	    TP_ARGS(
875  	        const char*, key,
876  	        const char*, value),
877  	    TP_FIELDS(
878  	        ctf_string(key, key)
879  	        ctf_string(value, value)
880  	    )
881  	)
882  	
883  	TRACEPOINT_EVENT(librbd, metadata_list_exit,
884  	    TP_ARGS(
885  	        int, retval),
886  	    TP_FIELDS(
887  	        ctf_integer(int, retval, retval)
888  	    )
889  	)
890  	
891  	TRACEPOINT_EVENT(librbd, flush_enter,
892  	    TP_ARGS(
893  	        void*, imagectx,
894  	        const char*, name,
895  	        const char*, snap_name,
896  	        char, read_only),
897  	    TP_FIELDS(
898  	        ctf_integer_hex(void*, imagectx, imagectx)
899  	        ctf_string(name, name)
900  	        ctf_string(snap_name, snap_name)
901  	        ctf_integer(char, read_only, read_only)
902  	    )
903  	)
904  	
905  	TRACEPOINT_EVENT(librbd, flush_exit,
906  	    TP_ARGS(
907  	        int, retval),
908  	    TP_FIELDS(
909  	        ctf_integer(int, retval, retval)
910  	    )
911  	)
912  	
913  	TRACEPOINT_EVENT(librbd, aio_flush_enter,
914  	    TP_ARGS(
915  	        void*, imagectx,
916  	        const char*, name,
917  	        const char*, snap_name,
918  	        char, read_only,
919  	        const void*, completion),
920  	    TP_FIELDS(
921  	        ctf_integer_hex(void*, imagectx, imagectx)
922  	        ctf_string(name, name)
923  	        ctf_string(snap_name, snap_name)
924  	        ctf_integer(char, read_only, read_only)
925  	        ctf_integer_hex(const void*, completion, completion)
926  	    )
927  	)
928  	
929  	TRACEPOINT_EVENT(librbd, aio_flush_exit,
930  	    TP_ARGS(
931  	        int, retval),
932  	    TP_FIELDS(
933  	        ctf_integer(int, retval, retval)
934  	    )
935  	)
936  	
937  	TRACEPOINT_EVENT(librbd, copy_enter,
938  	    TP_ARGS(
939  	        void*, src_imagectx,
940  	        const char*, src_name,
941  	        const char*, src_snap_name,
942  	        char, src_read_only,
943  	        const char*, dst_pool_name,
944  	        uint64_t, dst_id,
945  	        const char*, dst_name),
946  	    TP_FIELDS(
947  	        ctf_integer_hex(void*, src_imagectx, src_imagectx)
948  	        ctf_string(src_name, src_name)
949  	        ctf_string(src_snap_name, src_snap_name)
950  	        ctf_integer(char, src_read_only, src_read_only)
951  	        ctf_string(dst_pool_name, dst_pool_name)
952  	        ctf_integer(uint64_t, dst_id, dst_id)
953  	        ctf_string(dst_name, dst_name)
954  	    )
955  	)
956  	
957  	TRACEPOINT_EVENT(librbd, copy_exit,
958  	    TP_ARGS(
959  	        int, retval),
960  	    TP_FIELDS(
961  	        ctf_integer(int, retval, retval)
962  	    )
963  	)
964  	
965  	TRACEPOINT_EVENT(librbd, copy2_enter,
966  	    TP_ARGS(
967  	        void*, src_imagectx,
968  	        const char*, src_name,
969  	        const char*, src_snap_name,
970  	        char, src_read_only,
971  	        void*, dst_imagectx,
972  	        const char*, dst_name,
973  	        const char*, dst_snap_name,
974  	        char, dst_read_only),
975  	    TP_FIELDS(
976  	        ctf_integer_hex(void*, src_imagectx, src_imagectx)
977  	        ctf_string(src_name, src_name)
978  	        ctf_string(src_snap_name, src_snap_name)
979  	        ctf_integer(char, src_read_only, src_read_only)
980  	        ctf_integer_hex(void*, dst_imagectx, dst_imagectx)
981  	        ctf_string(dst_name, dst_name)
982  	        ctf_string(dst_snap_name, dst_snap_name)
983  	        ctf_integer(char, dst_read_only, dst_read_only)
984  	    )
985  	)
986  	
987  	TRACEPOINT_EVENT(librbd, copy2_exit,
988  	    TP_ARGS(
989  	        int, retval),
990  	    TP_FIELDS(
991  	        ctf_integer(int, retval, retval)
992  	    )
993  	)
994  	
995  	TRACEPOINT_EVENT(librbd, copy3_enter,
996  	    TP_ARGS(
997  	        void*, src_imagectx,
998  	        const char*, src_name,
999  	        const char*, src_snap_name,
1000 	        char, src_read_only,
1001 	        const char*, dst_pool_name,
1002 	        uint64_t, dst_id,
1003 	        const char*, dst_name,
1004 	        void*, opts),
1005 	    TP_FIELDS(
1006 	        ctf_integer_hex(void*, src_imagectx, src_imagectx)
1007 	        ctf_string(src_name, src_name)
1008 	        ctf_string(src_snap_name, src_snap_name)
1009 	        ctf_integer(char, src_read_only, src_read_only)
1010 	        ctf_string(dst_pool_name, dst_pool_name)
1011 	        ctf_integer(uint64_t, dst_id, dst_id)
1012 	        ctf_string(dst_name, dst_name)
1013 	        ctf_integer_hex(void*, opts, opts)
1014 	    )
1015 	)
1016 	
1017 	TRACEPOINT_EVENT(librbd, copy3_exit,
1018 	    TP_ARGS(
1019 	        int, retval),
1020 	    TP_FIELDS(
1021 	        ctf_integer(int, retval, retval)
1022 	    )
1023 	)
1024 	
1025 	TRACEPOINT_EVENT(librbd, copy4_enter,
1026 	    TP_ARGS(
1027 	        void*, src_imagectx,
1028 	        const char*, src_name,
1029 	        const char*, src_snap_name,
1030 	        char, src_read_only,
1031 	        const char*, dst_pool_name,
1032 	        uint64_t, dst_id,
1033 	        const char*, dst_name,
1034 	        void*, opts,
1035 	        size_t, sparse_size),
1036 	    TP_FIELDS(
1037 	        ctf_integer_hex(void*, src_imagectx, src_imagectx)
1038 	        ctf_string(src_name, src_name)
1039 	        ctf_string(src_snap_name, src_snap_name)
1040 	        ctf_integer(char, src_read_only, src_read_only)
1041 	        ctf_string(dst_pool_name, dst_pool_name)
1042 	        ctf_integer(uint64_t, dst_id, dst_id)
1043 	        ctf_string(dst_name, dst_name)
1044 	        ctf_integer_hex(void*, opts, opts)
1045 	        ctf_integer(size_t, sparse_size, sparse_size)
1046 	    )
1047 	)
1048 	
1049 	TRACEPOINT_EVENT(librbd, copy4_exit,
1050 	    TP_ARGS(
1051 	        int, retval),
1052 	    TP_FIELDS(
1053 	        ctf_integer(int, retval, retval)
1054 	    )
1055 	)
1056 	
(1) Event unsigned_compare: This less-than-zero comparison of an unsigned value is never true. "18446744073709551615UL < 0UL".
1057 	TRACEPOINT_EVENT(librbd, deep_copy_enter,
1058 	    TP_ARGS(
1059 	        void*, src_imagectx,
1060 	        const char*, src_name,
1061 	        const char*, src_snap_name,
1062 	        char, src_read_only,
1063 	        const char*, dst_pool_name,
1064 	        uint64_t, dst_id,
1065 	        const char*, dst_name,
1066 	        void*, opts),
1067 	    TP_FIELDS(
1068 	        ctf_integer_hex(void*, src_imagectx, src_imagectx)
1069 	        ctf_string(src_name, src_name)
1070 	        ctf_string(src_snap_name, src_snap_name)
1071 	        ctf_integer(char, src_read_only, src_read_only)
1072 	        ctf_string(dst_pool_name, dst_pool_name)
1073 	        ctf_integer(uint64_t, dst_id, dst_id)
1074 	        ctf_string(dst_name, dst_name)
1075 	        ctf_integer_hex(void*, opts, opts)
1076 	    )
1077 	)
1078 	
1079 	TRACEPOINT_EVENT(librbd, deep_copy_exit,
1080 	    TP_ARGS(
1081 	        int, retval),
1082 	    TP_FIELDS(
1083 	        ctf_integer(int, retval, retval)
1084 	    )
1085 	)
1086 	
1087 	TRACEPOINT_EVENT(librbd, resize_enter,
1088 	    TP_ARGS(
1089 	        void*, imagectx,
1090 	        const char*, name,
1091 	        const char*, snap_name,
1092 	        char, read_only,
1093 	        uint64_t, size),
1094 	    TP_FIELDS(
1095 	        ctf_integer_hex(void*, imagectx, imagectx)
1096 	        ctf_string(name, name)
1097 	        ctf_string(snap_name, snap_name)
1098 	        ctf_integer(char, read_only, read_only)
1099 	        ctf_integer(uint64_t, size, size)
1100 	    )
1101 	)
1102 	
1103 	TRACEPOINT_EVENT(librbd, resize_exit,
1104 	    TP_ARGS(
1105 	        int, retval),
1106 	    TP_FIELDS(
1107 	        ctf_integer(int, retval, retval)
1108 	    )
1109 	)
1110 	
1111 	TRACEPOINT_EVENT(librbd, rename_enter,
1112 	    TP_ARGS(
1113 	        const char*, pool_name,
1114 	        uint64_t, id,
1115 	        const char*, srcname,
1116 	        const char*, dstname),
1117 	    TP_FIELDS(
1118 	        ctf_string(pool_name, pool_name)
1119 	        ctf_integer(uint64_t, id, id)
1120 	        ctf_string(srcname, srcname)
1121 	        ctf_string(dstname, dstname)
1122 	    )
1123 	)
1124 	
1125 	TRACEPOINT_EVENT(librbd, rename_exit,
1126 	    TP_ARGS(
1127 	        int, retval),
1128 	    TP_FIELDS(
1129 	        ctf_integer(int, retval, retval)
1130 	    )
1131 	)
1132 	
1133 	TRACEPOINT_EVENT(librbd, migration_prepare_enter,
1134 	    TP_ARGS(
1135 	        const char*, pool_name,
1136 	        uint64_t, id,
1137 	        const char*, image_name,
1138 	        const char*, dest_pool_name,
1139 	        uint64_t, dest_id,
1140 	        const char*, dest_image_name,
1141 	        void*, opts),
1142 	    TP_FIELDS(
1143 	        ctf_string(pool_name, pool_name)
1144 	        ctf_integer(uint64_t, id, id)
1145 	        ctf_string(image_name, image_name)
1146 	        ctf_string(dest_pool_name, dest_pool_name)
1147 	        ctf_integer(uint64_t, dest_id, dest_id)
1148 	        ctf_string(dest_image_name, dest_image_name)
1149 	        ctf_integer_hex(void*, opts, opts)
1150 	    )
1151 	)
1152 	
1153 	TRACEPOINT_EVENT(librbd, migration_prepare_exit,
1154 	    TP_ARGS(
1155 	        int, retval),
1156 	    TP_FIELDS(
1157 	        ctf_integer(int, retval, retval)
1158 	    )
1159 	)
1160 	
1161 	TRACEPOINT_EVENT(librbd, migration_execute_enter,
1162 	    TP_ARGS(
1163 	        const char*, pool_name,
1164 	        int64_t, pool_id,
1165 	        const char*, image_name),
1166 	    TP_FIELDS(
1167 	        ctf_string(pool_name, pool_name)
1168 	        ctf_integer(int64_t, pool_id, pool_id)
1169 	        ctf_string(image_name, image_name)
1170 	    )
1171 	)
1172 	
1173 	TRACEPOINT_EVENT(librbd, migration_execute_exit,
1174 	    TP_ARGS(
1175 	        int, retval),
1176 	    TP_FIELDS(
1177 	        ctf_integer(int, retval, retval)
1178 	    )
1179 	)
1180 	
1181 	TRACEPOINT_EVENT(librbd, migration_abort_enter,
1182 	    TP_ARGS(
1183 	        const char*, pool_name,
1184 	        int64_t, pool_id,
1185 	        const char*, image_name),
1186 	    TP_FIELDS(
1187 	        ctf_string(pool_name, pool_name)
1188 	        ctf_integer(int64_t, pool_id, pool_id)
1189 	        ctf_string(image_name, image_name)
1190 	    )
1191 	)
1192 	
1193 	TRACEPOINT_EVENT(librbd, migration_abort_exit,
1194 	    TP_ARGS(
1195 	        int, retval),
1196 	    TP_FIELDS(
1197 	        ctf_integer(int, retval, retval)
1198 	    )
1199 	)
1200 	
1201 	TRACEPOINT_EVENT(librbd, migration_commit_enter,
1202 	    TP_ARGS(
1203 	        const char*, pool_name,
1204 	        int64_t, pool_id,
1205 	        const char*, image_name),
1206 	    TP_FIELDS(
1207 	        ctf_string(pool_name, pool_name)
1208 	        ctf_integer(int64_t, pool_id, pool_id)
1209 	        ctf_string(image_name, image_name)
1210 	    )
1211 	)
1212 	
1213 	TRACEPOINT_EVENT(librbd, migration_commit_exit,
1214 	    TP_ARGS(
1215 	        int, retval),
1216 	    TP_FIELDS(
1217 	        ctf_integer(int, retval, retval)
1218 	    )
1219 	)
1220 	
1221 	TRACEPOINT_EVENT(librbd, migration_status_enter,
1222 	    TP_ARGS(
1223 	        const char*, pool_name,
1224 	        int64_t, pool_id,
1225 	        const char*, image_name),
1226 	    TP_FIELDS(
1227 	        ctf_string(pool_name, pool_name)
1228 	        ctf_integer(int64_t, pool_id, pool_id)
1229 	        ctf_string(image_name, image_name)
1230 	    )
1231 	)
1232 	
1233 	TRACEPOINT_EVENT(librbd, migration_status_exit,
1234 	    TP_ARGS(
1235 	        int, retval),
1236 	    TP_FIELDS(
1237 	        ctf_integer(int, retval, retval)
1238 	    )
1239 	)
1240 	
1241 	TRACEPOINT_EVENT(librbd, discard_enter,
1242 	    TP_ARGS(
1243 	        void*, imagectx,
1244 	        const char*, name,
1245 	        const char*, snap_name,
1246 	        char, read_only,
1247 	        uint64_t, off,
1248 	        uint64_t, len),
1249 	    TP_FIELDS(
1250 	        ctf_integer_hex(void*, imagectx, imagectx)
1251 	        ctf_string(name, name)
1252 	        ctf_string(snap_name, snap_name)
1253 	        ctf_integer(char, read_only, read_only)
1254 	        ctf_integer(uint64_t, off, off)
1255 	        ctf_integer(uint64_t, len, len)
1256 	    )
1257 	)
1258 	
1259 	TRACEPOINT_EVENT(librbd, discard_exit,
1260 	    TP_ARGS(
1261 	        int, retval),
1262 	    TP_FIELDS(
1263 	        ctf_integer(int, retval, retval)
1264 	    )
1265 	)
1266 	
1267 	TRACEPOINT_EVENT(librbd, aio_is_complete_enter,
1268 	    TP_ARGS(
1269 	        rbd_completion_t, completion),
1270 	    TP_FIELDS(
1271 	        ctf_integer_hex(rbd_completion_t, completion, completion)
1272 	    )
1273 	)
1274 	
1275 	TRACEPOINT_EVENT(librbd, aio_is_complete_exit,
1276 	    TP_ARGS(
1277 	        int, retval),
1278 	    TP_FIELDS(
1279 	        ctf_integer(int, retval, retval)
1280 	    )
1281 	)
1282 	
1283 	TRACEPOINT_EVENT(librbd, aio_get_return_value_enter,
1284 	    TP_ARGS(
1285 	        rbd_completion_t, completion),
1286 	    TP_FIELDS(
1287 	        ctf_integer_hex(rbd_completion_t, completion, completion)
1288 	    )
1289 	)
1290 	
1291 	TRACEPOINT_EVENT(librbd, aio_get_return_value_exit,
1292 	    TP_ARGS(
1293 	        ssize_t, retval),
1294 	    TP_FIELDS(
1295 	        ctf_integer(ssize_t, retval, retval)
1296 	    )
1297 	)
1298 	
1299 	TRACEPOINT_EVENT(librbd, aio_wait_for_complete_enter,
1300 	    TP_ARGS(
1301 	        rbd_completion_t, completion),
1302 	    TP_FIELDS(
1303 	        ctf_integer_hex(rbd_completion_t, completion, completion)
1304 	    )
1305 	)
1306 	
1307 	TRACEPOINT_EVENT(librbd, aio_wait_for_complete_exit,
1308 	    TP_ARGS(
1309 	        int, retval),
1310 	    TP_FIELDS(
1311 	        ctf_integer(int, retval, retval)
1312 	    )
1313 	)
1314 	
1315 	TRACEPOINT_EVENT(librbd, aio_complete_enter,
1316 	    TP_ARGS(
1317 	        rbd_completion_t, completion,
1318 	        ssize_t, rval),
1319 	    TP_FIELDS(
1320 	        ctf_integer_hex(rbd_completion_t, completion, completion)
1321 	        ctf_integer(ssize_t, rval, rval)
1322 	    )
1323 	)
1324 	
1325 	TRACEPOINT_EVENT(librbd, aio_complete_exit,
1326 	    TP_ARGS(),
1327 	    TP_FIELDS()
1328 	)
1329 	
1330 	TRACEPOINT_EVENT(librbd, aio_writesame_enter,
1331 	    TP_ARGS(
1332 	        void*, imagectx,
1333 	        const char*, name,
1334 	        const char*, snap_name,
1335 	        char, read_only,
1336 	        uint64_t, off,
1337 	        size_t, len,
1338 	        const char*, buf,
1339 	        size_t, data_len,
1340 	        const void*, completion,
1341 		int, op_flags),
1342 	    TP_FIELDS(
1343 	        ctf_integer_hex(void*, imagectx, imagectx)
1344 	        ctf_string(name, name)
1345 	        ctf_string(snap_name, snap_name)
1346 	        ctf_integer(char, read_only, read_only)
1347 	        ctf_integer(uint64_t, off, off)
1348 	        ctf_integer(size_t, len, len)
1349 	        ctf_integer(size_t, data_len, data_len)
1350 	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, data_len)
1351 	        ctf_integer_hex(const void*, completion, completion)
1352 	        ctf_integer(int, op_flags, op_flags)
1353 	    )
1354 	)
1355 	
1356 	TRACEPOINT_EVENT(librbd, aio_writesame_exit,
1357 	    TP_ARGS(
1358 	        ssize_t, retval),
1359 	    TP_FIELDS(
1360 	        ctf_integer(ssize_t, retval, retval)
1361 	    )
1362 	)
1363 	
1364 	TRACEPOINT_EVENT(librbd, aio_compare_and_write_enter,
1365 	    TP_ARGS(
1366 	        void*, imagectx,
1367 	        const char*, name,
1368 	        const char*, snap_name,
1369 	        char, read_only,
1370 	        uint64_t, off,
1371 	        size_t, len,
1372 	        const char*, cmp_buf,
1373 	        const char*, buf,
1374 	        const void*, completion,
1375 		      int, op_flags),
1376 	    TP_FIELDS(
1377 	        ctf_integer_hex(void*, imagectx, imagectx)
1378 	        ctf_string(name, name)
1379 	        ctf_string(snap_name, snap_name)
1380 	        ctf_integer(char, read_only, read_only)
1381 	        ctf_integer(uint64_t, off, off)
1382 	        ctf_integer(size_t, len, len)
1383 	        ceph_ctf_sequence(unsigned char, cmp_buf, cmp_buf, size_t, len)
1384 	        ceph_ctf_sequence(unsigned char, buf, buf, size_t, len)
1385 	        ctf_integer_hex(const void*, completion, completion)
1386 	        ctf_integer(int, op_flags, op_flags)
1387 	    )
1388 	)
1389 	TRACEPOINT_EVENT(librbd, aio_compare_and_write_exit,
1390 	    TP_ARGS(
1391 	        int, retval),
1392 	    TP_FIELDS(
1393 	        ctf_integer(int, retval, retval)
1394 	    )
1395 	)
1396 	
1397 	
1398 	TRACEPOINT_EVENT(librbd, clone_enter,
1399 	    TP_ARGS(
1400 	        const char*, parent_pool_name,
1401 	        uint64_t, parent_id,
1402 	        const char*, parent_name,
1403 	        const char*, parent_snap_name,
1404 	        const char*, child_pool_name,
1405 	        uint64_t, child_id,
1406 	        const char*, child_name,
1407 	        uint64_t, features),
1408 	    TP_FIELDS(
1409 	        ctf_string(parent_pool_name, parent_pool_name)
1410 	        ctf_integer(uint64_t, parent_id, parent_id)
1411 	        ctf_string(parent_name, parent_name)
1412 	        ctf_string(parent_snap_name, parent_snap_name)
1413 	        ctf_string(child_pool_name, child_pool_name)
1414 	        ctf_integer(uint64_t, child_id, child_id)
1415 	        ctf_string(child_name, child_name)
1416 	        ctf_integer(uint64_t, features, features)
1417 	    )
1418 	)
1419 	
1420 	TRACEPOINT_EVENT(librbd, clone_exit,
1421 	    TP_ARGS(
1422 	        int, retval,
1423 	        int, order),
1424 	    TP_FIELDS(
1425 	        ctf_integer(int, retval, retval)
1426 	        ctf_integer(int, order, order)
1427 	    )
1428 	)
1429 	
1430 	TRACEPOINT_EVENT(librbd, clone2_enter,
1431 	    TP_ARGS(
1432 	        const char*, parent_pool_name,
1433 	        uint64_t, parent_id,
1434 	        const char*, parent_name,
1435 	        const char*, parent_snap_name,
1436 	        const char*, child_pool_name,
1437 	        uint64_t, child_id,
1438 	        const char*, child_name,
1439 	        uint64_t, features,
1440 	        uint64_t, stripe_unit,
1441 	        int, stripe_count),
1442 	    TP_FIELDS(
1443 	        ctf_string(parent_pool_name, parent_pool_name)
1444 	        ctf_integer(uint64_t, parent_id, parent_id)
1445 	        ctf_string(parent_name, parent_name)
1446 	        ctf_string(parent_snap_name, parent_snap_name)
1447 	        ctf_string(child_pool_name, child_pool_name)
1448 	        ctf_integer(uint64_t, child_id, child_id)
1449 	        ctf_string(child_name, child_name)
1450 	        ctf_integer(uint64_t, features, features)
1451 	        ctf_integer(uint64_t, stripe_unit, stripe_unit)
1452 	        ctf_integer(int, stripe_count, stripe_count)
1453 	    )
1454 	)
1455 	
1456 	TRACEPOINT_EVENT(librbd, clone2_exit,
1457 	    TP_ARGS(
1458 	        int, retval,
1459 	        int, order),
1460 	    TP_FIELDS(
1461 	        ctf_integer(int, retval, retval)
1462 	        ctf_integer(int, order, order)
1463 	    )
1464 	)
1465 	
1466 	TRACEPOINT_EVENT(librbd, clone3_enter,
1467 	    TP_ARGS(
1468 	        const char*, parent_pool_name,
1469 	        uint64_t, parent_id,
1470 	        const char*, parent_name,
1471 	        const char*, parent_snap_name,
1472 	        const char*, child_pool_name,
1473 	        uint64_t, child_id,
1474 	        const char*, child_name,
1475 		void*, opts),
1476 	    TP_FIELDS(
1477 	        ctf_string(parent_pool_name, parent_pool_name)
1478 	        ctf_integer(uint64_t, parent_id, parent_id)
1479 	        ctf_string(parent_name, parent_name)
1480 	        ctf_string(parent_snap_name, parent_snap_name)
1481 	        ctf_string(child_pool_name, child_pool_name)
1482 	        ctf_integer(uint64_t, child_id, child_id)
1483 	        ctf_string(child_name, child_name)
1484 		ctf_integer_hex(void*, opts, opts)
1485 	    )
1486 	)
1487 	
1488 	TRACEPOINT_EVENT(librbd, clone3_exit,
1489 	    TP_ARGS(
1490 	        int, retval),
1491 	    TP_FIELDS(
1492 	        ctf_integer(int, retval, retval)
1493 	    )
1494 	)
1495 	
1496 	TRACEPOINT_EVENT(librbd, flatten_enter,
1497 	    TP_ARGS(
1498 	        void*, imagectx,
1499 	        const char*, name,
1500 	        const char*, id),
1501 	    TP_FIELDS(
1502 	        ctf_integer_hex(void*, imagectx, imagectx)
1503 	        ctf_string(name, name)
1504 	        ctf_string(id, id)
1505 	    )
1506 	)
1507 	
1508 	TRACEPOINT_EVENT(librbd, flatten_exit,
1509 	    TP_ARGS(
1510 	        int, retval),
1511 	    TP_FIELDS(
1512 	        ctf_integer(int, retval, retval)
1513 	    )
1514 	)
1515 	
1516 	TRACEPOINT_EVENT(librbd, sparsify_enter,
1517 	    TP_ARGS(
1518 	        void*, imagectx,
1519 	        const char*, name,
1520 	        size_t, sparse_size,
1521 	        const char*, id),
1522 	    TP_FIELDS(
1523 	        ctf_integer_hex(void*, imagectx, imagectx)
1524 	        ctf_string(name, name)
1525 	        ctf_integer(size_t, sparse_size, sparse_size)
1526 	        ctf_string(id, id)
1527 	    )
1528 	)
1529 	
1530 	TRACEPOINT_EVENT(librbd, sparsify_exit,
1531 	    TP_ARGS(
1532 	        int, retval),
1533 	    TP_FIELDS(
1534 	        ctf_integer(int, retval, retval)
1535 	    )
1536 	)
1537 	
1538 	TRACEPOINT_EVENT(librbd, snap_create_enter,
1539 	    TP_ARGS(
1540 	        void*, imagectx,
1541 	        const char*, name,
1542 	        const char*, snap_name,
1543 	        char, read_only,
1544 	        const char*, create_snap_name),
1545 	    TP_FIELDS(
1546 	        ctf_integer_hex(void*, imagectx, imagectx)
1547 	        ctf_string(name, name)
1548 	        ctf_string(snap_name, snap_name)
1549 	        ctf_integer(char, read_only, read_only)
1550 	        ctf_string(create_snap_name, create_snap_name)
1551 	    )
1552 	)
1553 	
1554 	TRACEPOINT_EVENT(librbd, snap_create_exit,
1555 	    TP_ARGS(
1556 	        int, retval),
1557 	    TP_FIELDS(
1558 	        ctf_integer(int, retval, retval)
1559 	    )
1560 	)
1561 	
1562 	TRACEPOINT_EVENT(librbd, snap_remove_enter,
1563 	    TP_ARGS(
1564 	        void*, imagectx,
1565 	        const char*, name,
1566 	        const char*, snap_name,
1567 	        char, read_only,
1568 	        const char*, remove_snap_name),
1569 	    TP_FIELDS(
1570 	        ctf_integer_hex(void*, imagectx, imagectx)
1571 	        ctf_string(name, name)
1572 	        ctf_string(snap_name, snap_name)
1573 	        ctf_integer(char, read_only, read_only)
1574 	        ctf_string(remove_snap_name, remove_snap_name)
1575 	    )
1576 	)
1577 	
1578 	TRACEPOINT_EVENT(librbd, snap_remove_exit,
1579 	    TP_ARGS(
1580 	        int, retval),
1581 	    TP_FIELDS(
1582 	        ctf_integer(int, retval, retval)
1583 	    )
1584 	)
1585 	
1586 	TRACEPOINT_EVENT(librbd, snap_remove2_enter,
1587 	    TP_ARGS(
1588 	        void*, imagectx,
1589 	        const char*, name,
1590 	        const char*, snap_name,
1591 	        char, read_only,
1592 	        const char*, remove_snap_name,
1593 		uint32_t, flags),
1594 	    TP_FIELDS(
1595 	        ctf_integer_hex(void*, imagectx, imagectx)
1596 	        ctf_string(name, name)
1597 	        ctf_string(snap_name, snap_name)
1598 	        ctf_integer(char, read_only, read_only)
1599 	        ctf_string(remove_snap_name, remove_snap_name)
1600 		ctf_integer(uint32_t, flags, flags)
1601 	    )
1602 	)
1603 	
1604 	TRACEPOINT_EVENT(librbd, snap_remove2_exit,
1605 	    TP_ARGS(
1606 	        int, retval),
1607 	    TP_FIELDS(
1608 	        ctf_integer(int, retval, retval)
1609 	    )
1610 	)
1611 	
1612 	TRACEPOINT_EVENT(librbd, snap_rollback_enter,
1613 	    TP_ARGS(
1614 	        void*, imagectx,
1615 	        const char*, name,
1616 	        const char*, snap_name,
1617 	        char, read_only,
1618 	        const char*, rollback_snap_name),
1619 	    TP_FIELDS(
1620 	        ctf_integer_hex(void*, imagectx, imagectx)
1621 	        ctf_string(name, name)
1622 	        ctf_string(snap_name, snap_name)
1623 	        ctf_integer(char, read_only, read_only)
1624 	        ctf_string(rollback_snap_name, rollback_snap_name)
1625 	    )
1626 	)
1627 	
1628 	TRACEPOINT_EVENT(librbd, snap_rollback_exit,
1629 	    TP_ARGS(
1630 	        int, retval),
1631 	    TP_FIELDS(
1632 	        ctf_integer(int, retval, retval)
1633 	    )
1634 	)
1635 	
1636 	TRACEPOINT_EVENT(librbd, snap_rename_enter,
1637 	    TP_ARGS(
1638 	        void*, imagectx,
1639 	        const char*, name,
1640 	        const char*, snap_name,
1641 	        char, read_only,
1642 	        const char*, src_snap_name,
1643 	        const char*, dst_snap_name),
1644 	    TP_FIELDS(
1645 	        ctf_integer_hex(void*, imagectx, imagectx)
1646 	        ctf_string(name, name)
1647 	        ctf_string(snap_name, snap_name)
1648 	        ctf_integer(char, read_only, read_only)
1649 	        ctf_string(src_snap_name, src_snap_name)
1650 	        ctf_string(dst_snap_name, dst_snap_name)
1651 	    )
1652 	)
1653 	
1654 	TRACEPOINT_EVENT(librbd, snap_rename_exit,
1655 	    TP_ARGS(
1656 	        int, retval),
1657 	    TP_FIELDS(
1658 	        ctf_integer(int, retval, retval)
1659 	    )
1660 	)
1661 	
1662 	TRACEPOINT_EVENT(librbd, snap_list_enter,
1663 	    TP_ARGS(
1664 	        void*, imagectx,
1665 	        const char*, name,
1666 	        const char*, snap_name,
1667 	        char, read_only,
1668 	        void*, snaps),
1669 	    TP_FIELDS(
1670 	        ctf_integer_hex(void*, imagectx, imagectx)
1671 	        ctf_string(name, name)
1672 	        ctf_string(snap_name, snap_name)
1673 	        ctf_integer(char, read_only, read_only)
1674 	        ctf_integer_hex(void*, snaps, snaps)
1675 	    )
1676 	)
1677 	
1678 	TRACEPOINT_EVENT(librbd, snap_list_entry,
1679 	    TP_ARGS(
1680 	        uint64_t, id,
1681 	        uint64_t, size,
1682 	        const char*, name),
1683 	    TP_FIELDS(
1684 	        ctf_integer(uint64_t, id, id)
1685 	        ctf_integer(uint64_t, size, size)
1686 	        ctf_string(name, name)
1687 	    )
1688 	)
1689 	
1690 	TRACEPOINT_EVENT(librbd, snap_list_exit,
1691 	    TP_ARGS(
1692 	        int, retval,
1693 	        int, max_snaps),
1694 	    TP_FIELDS(
1695 	        ctf_integer(int, retval, retval)
1696 	        ctf_integer(int, max_snaps, max_snaps)
1697 	    )
1698 	)
1699 	
1700 	TRACEPOINT_EVENT(librbd, snap_list_end_enter,
1701 	    TP_ARGS(
1702 	        void*, snaps),
1703 	    TP_FIELDS(
1704 	        ctf_integer_hex(void*, snaps, snaps)
1705 	    )
1706 	)
1707 	
1708 	TRACEPOINT_EVENT(librbd, snap_list_end_exit,
1709 	    TP_ARGS(),
1710 	    TP_FIELDS()
1711 	)
1712 	
1713 	TRACEPOINT_EVENT(librbd, snap_protect_enter,
1714 	    TP_ARGS(
1715 	        void*, imagectx,
1716 	        const char*, name,
1717 	        const char*, snap_name,
1718 	        char, read_only,
1719 	        const char*, protect_snap_name),
1720 	    TP_FIELDS(
1721 	        ctf_integer_hex(void*, imagectx, imagectx)
1722 	        ctf_string(name, name)
1723 	        ctf_string(snap_name, snap_name)
1724 	        ctf_integer(char, read_only, read_only)
1725 	        ctf_string(protect_snap_name, protect_snap_name)
1726 	    )
1727 	)
1728 	
1729 	TRACEPOINT_EVENT(librbd, snap_protect_exit,
1730 	    TP_ARGS(
1731 	        int, retval),
1732 	    TP_FIELDS(
1733 	        ctf_integer(int, retval, retval)
1734 	    )
1735 	)
1736 	
1737 	TRACEPOINT_EVENT(librbd, snap_unprotect_enter,
1738 	    TP_ARGS(
1739 	        void*, imagectx,
1740 	        const char*, name,
1741 	        const char*, snap_name,
1742 	        char, read_only,
1743 	        const char*, unprotect_snap_name),
1744 	    TP_FIELDS(
1745 	        ctf_integer_hex(void*, imagectx, imagectx)
1746 	        ctf_string(name, name)
1747 	        ctf_string(snap_name, snap_name)
1748 	        ctf_integer(char, read_only, read_only)
1749 	        ctf_string(unprotect_snap_name, unprotect_snap_name)
1750 	    )
1751 	)
1752 	
1753 	TRACEPOINT_EVENT(librbd, snap_unprotect_exit,
1754 	    TP_ARGS(
1755 	        int, retval),
1756 	    TP_FIELDS(
1757 	        ctf_integer(int, retval, retval)
1758 	    )
1759 	)
1760 	
1761 	TRACEPOINT_EVENT(librbd, snap_is_protected_enter,
1762 	    TP_ARGS(
1763 	        void*, imagectx,
1764 	        const char*, name,
1765 	        const char*, snap_name,
1766 	        char, read_only,
1767 	        const char*, is_protected_snap_name),
1768 	    TP_FIELDS(
1769 	        ctf_integer_hex(void*, imagectx, imagectx)
1770 	        ctf_string(name, name)
1771 	        ctf_string(snap_name, snap_name)
1772 	        ctf_integer(char, read_only, read_only)
1773 	        ctf_string(is_protected_snap_name, is_protected_snap_name)
1774 	    )
1775 	)
1776 	
1777 	TRACEPOINT_EVENT(librbd, snap_is_protected_exit,
1778 	    TP_ARGS(
1779 	        int, retval,
1780 	        int, is_protected),
1781 	    TP_FIELDS(
1782 	        ctf_integer(int, retval, retval)
1783 	        ctf_integer(int, is_protected, is_protected)
1784 	    )
1785 	)
1786 	
1787 	TRACEPOINT_EVENT(librbd, snap_exists_enter,
1788 	    TP_ARGS(
1789 	        void*, imagectx,
1790 	        const char*, name,
1791 	        const char*, snap_name,
1792 	        char, read_only,
1793 	        const char*, snap_name_to_check),
1794 	    TP_FIELDS(
1795 	        ctf_integer_hex(void*, imagectx, imagectx)
1796 	        ctf_string(name, name)
1797 	        ctf_string(snap_name, snap_name)
1798 	        ctf_integer(char, read_only, read_only)
1799 	        ctf_string(snap_name_to_check, snap_name_to_check)
1800 	    )
1801 	)
1802 	
1803 	TRACEPOINT_EVENT(librbd, snap_exists_exit,
1804 	    TP_ARGS(
1805 	        int, retval,
1806 	        int, exists),
1807 	    TP_FIELDS(
1808 	        ctf_integer(int, retval, retval)
1809 	        ctf_integer(int, exists, exists)
1810 	    )
1811 	)
1812 	
1813 	TRACEPOINT_EVENT(librbd, snap_get_timestamp_enter,
1814 	    TP_ARGS(
1815 	        void*, imagectx,
1816 	        const char*, name),
1817 	    TP_FIELDS(
1818 	        ctf_integer_hex(void*, imagectx, imagectx)
1819 	        ctf_string(name, name)
1820 	    )    
1821 	)
1822 	
1823 	TRACEPOINT_EVENT(librbd, snap_get_timestamp_exit,
1824 	    TP_ARGS(
1825 	        int, retval),
1826 		TP_FIELDS(
1827 	        ctf_integer(int, retval, retval)
1828 	    )
1829 	)
1830 	
1831 	TRACEPOINT_EVENT(librbd, snap_get_limit_enter,
1832 	    TP_ARGS(
1833 	        void*, imagectx,
1834 	        const char*, name),
1835 	    TP_FIELDS(
1836 	        ctf_integer_hex(void*, imagectx, imagectx)
1837 	        ctf_string(name, name)
1838 	    )
1839 	)
1840 	
1841 	TRACEPOINT_EVENT(librbd, snap_get_limit_exit,
1842 	    TP_ARGS(
1843 	        int, retval,
1844 	        uint64_t, limit),
1845 	    TP_FIELDS(
1846 	        ctf_integer(int, retval, retval)
1847 	        ctf_integer(uint64_t, limit, limit)
1848 	    )
1849 	)
1850 	
1851 	TRACEPOINT_EVENT(librbd, snap_set_limit_enter,
1852 	    TP_ARGS(
1853 	        void*,imagectx,
1854 		const char*, name,
1855 	        const int, limit),
1856 	    TP_FIELDS(
1857 	        ctf_integer_hex(void*, imagectx, imagectx)
1858 		ctf_string(name, name)
1859 	        ctf_integer(int, limit, limit)
1860 	    )
1861 	)
1862 	
1863 	TRACEPOINT_EVENT(librbd, snap_set_limit_exit,
1864 	    TP_ARGS(
1865 	        int, retval),
1866 	    TP_FIELDS(
1867 	        ctf_integer(int, retval, retval)
1868 	    )
1869 	)
1870 	
1871 	TRACEPOINT_EVENT(librbd, snap_set_enter,
1872 	    TP_ARGS(
1873 	        void*, imagectx,
1874 	        const char*, name,
1875 	        const char*, snap_name,
1876 	        char, read_only,
1877 	        const char*, set_snap_name),
1878 	    TP_FIELDS(
1879 	        ctf_integer_hex(void*, imagectx, imagectx)
1880 	        ctf_string(name, name)
1881 	        ctf_string(snap_name, snap_name)
1882 	        ctf_integer(char, read_only, read_only)
1883 	        ctf_string(set_snap_name, set_snap_name)
1884 	    )
1885 	)
1886 	
1887 	TRACEPOINT_EVENT(librbd, snap_set_exit,
1888 	    TP_ARGS(
1889 	        int, retval),
1890 	    TP_FIELDS(
1891 	        ctf_integer(int, retval, retval)
1892 	    )
1893 	)
1894 	
1895 	TRACEPOINT_EVENT(librbd, list_children_enter,
1896 	    TP_ARGS(
1897 	        void*, imagectx,
1898 	        const char*, name,
1899 	        const char*, snap_name,
1900 	        char, read_only),
1901 	    TP_FIELDS(
1902 	        ctf_integer_hex(void*, imagectx, imagectx)
1903 	        ctf_string(name, name)
1904 	        ctf_string(snap_name, snap_name)
1905 	        ctf_integer(char, read_only, read_only)
1906 	    )
1907 	)
1908 	
1909 	TRACEPOINT_EVENT(librbd, list_children_entry,
1910 	    TP_ARGS(
1911 	        const char*, pool,
1912 	        const char*, image),
1913 	    TP_FIELDS(
1914 	        ctf_string(pool, pool)
1915 	        ctf_string(image, image)
1916 	    )
1917 	)
1918 	
1919 	TRACEPOINT_EVENT(librbd, list_children_exit,
1920 	    TP_ARGS(
1921 	        ssize_t, retval),
1922 	    TP_FIELDS(
1923 	        ctf_integer(ssize_t, retval, retval)
1924 	    )
1925 	)
1926 	
1927 	TRACEPOINT_EVENT(librbd, list_lockers_enter,
1928 	    TP_ARGS(
1929 	        void*, imagectx,
1930 	        const char*, name,
1931 	        const char*, snap_name,
1932 	        char, read_only),
1933 	    TP_FIELDS(
1934 	        ctf_integer_hex(void*, imagectx, imagectx)
1935 	        ctf_string(name, name)
1936 	        ctf_string(snap_name, snap_name)
1937 	        ctf_integer(char, read_only, read_only)
1938 	    )
1939 	)
1940 	
1941 	TRACEPOINT_EVENT(librbd, list_lockers_entry,
1942 	    TP_ARGS(
1943 	        const char*, client,
1944 	        const char*, cookie,
1945 	        const char*, address),
1946 	    TP_FIELDS(
1947 	        ctf_string(client, client)
1948 	        ctf_string(cookie, cookie)
1949 	        ctf_string(address, address)
1950 	    )
1951 	)
1952 	
1953 	TRACEPOINT_EVENT(librbd, list_lockers_exit,
1954 	    TP_ARGS(
1955 	        ssize_t, retval),
1956 	    TP_FIELDS(
1957 	        ctf_integer(ssize_t, retval, retval)
1958 	    )
1959 	)
1960 	
1961 	TRACEPOINT_EVENT(librbd, lock_exclusive_enter,
1962 	    TP_ARGS(
1963 	        void*, imagectx,
1964 	        const char*, name,
1965 	        const char*, snap_name,
1966 	        char, read_only,
1967 	        const char*, cookie),
1968 	    TP_FIELDS(
1969 	        ctf_integer_hex(void*, imagectx, imagectx)
1970 	        ctf_string(name, name)
1971 	        ctf_string(snap_name, snap_name)
1972 	        ctf_integer(char, read_only, read_only)
1973 	        ceph_ctf_string(cookie, cookie)
1974 	    )
1975 	)
1976 	
1977 	TRACEPOINT_EVENT(librbd, lock_exclusive_exit,
1978 	    TP_ARGS(
1979 	        int, retval),
1980 	    TP_FIELDS(
1981 	        ctf_integer(int, retval, retval)
1982 	    )
1983 	)
1984 	
1985 	TRACEPOINT_EVENT(librbd, lock_shared_enter,
1986 	    TP_ARGS(
1987 	        void*, imagectx,
1988 	        const char*, name,
1989 	        const char*, snap_name,
1990 	        char, read_only,
1991 	        const char*, cookie,
1992 	        const char*, tag),
1993 	    TP_FIELDS(
1994 	        ctf_integer_hex(void*, imagectx, imagectx)
1995 	        ctf_string(name, name)
1996 	        ctf_string(snap_name, snap_name)
1997 	        ctf_integer(char, read_only, read_only)
1998 	        ceph_ctf_string(cookie, cookie)
1999 	        ceph_ctf_string(tag, tag)
2000 	    )
2001 	)
2002 	
2003 	TRACEPOINT_EVENT(librbd, lock_shared_exit,
2004 	    TP_ARGS(
2005 	        int, retval),
2006 	    TP_FIELDS(
2007 	        ctf_integer(int, retval, retval)
2008 	    )
2009 	)
2010 	
2011 	TRACEPOINT_EVENT(librbd, unlock_enter,
2012 	    TP_ARGS(
2013 	        void*, imagectx,
2014 	        const char*, name,
2015 	        const char*, snap_name,
2016 	        char, read_only,
2017 	        const char*, cookie),
2018 	    TP_FIELDS(
2019 	        ctf_integer_hex(void*, imagectx, imagectx)
2020 	        ctf_string(name, name)
2021 	        ctf_string(snap_name, snap_name)
2022 	        ctf_integer(char, read_only, read_only)
2023 	        ceph_ctf_string(cookie, cookie)
2024 	    )
2025 	)
2026 	
2027 	TRACEPOINT_EVENT(librbd, unlock_exit,
2028 	    TP_ARGS(
2029 	        int, retval),
2030 	    TP_FIELDS(
2031 	        ctf_integer(int, retval, retval)
2032 	    )
2033 	)
2034 	
2035 	TRACEPOINT_EVENT(librbd, break_lock_enter,
2036 	    TP_ARGS(
2037 	        void*, imagectx,
2038 	        const char*, name,
2039 	        const char*, snap_name,
2040 	        char, read_only,
2041 	        const char*, client,
2042 	        const char*, cookie),
2043 	    TP_FIELDS(
2044 	        ctf_integer_hex(void*, imagectx, imagectx)
2045 	        ctf_string(name, name)
2046 	        ctf_string(snap_name, snap_name)
2047 	        ctf_integer(char, read_only, read_only)
2048 	        ceph_ctf_string(client, client)
2049 	        ceph_ctf_string(cookie, cookie)
2050 	    )
2051 	)
2052 	
2053 	TRACEPOINT_EVENT(librbd, break_lock_exit,
2054 	    TP_ARGS(
2055 	        int, retval),
2056 	    TP_FIELDS(
2057 	        ctf_integer(int, retval, retval)
2058 	    )
2059 	)
2060 	
2061 	TRACEPOINT_EVENT(librbd, diff_iterate_enter,
2062 	    TP_ARGS(
2063 	        void*, imagectx,
2064 	        const char*, name,
2065 	        const char*, snap_name,
2066 	        char, read_only,
2067 	        const char*, from_snap_name,
2068 	        uint64_t, offset,
2069 	        uint64_t, length,
2070 	        char, include_parent,
2071 	        char, whole_object),
2072 	    TP_FIELDS(
2073 	        ctf_integer_hex(void*, imagectx, imagectx)
2074 	        ctf_string(name, name)
2075 	        ctf_string(snap_name, snap_name)
2076 	        ctf_integer(char, read_only, read_only)
2077 	        ctf_string(from_snap_name, from_snap_name)
2078 	        ctf_integer(uint64_t, offset, offset)
2079 	        ctf_integer(uint64_t, length, length)
2080 	        ctf_integer(char, include_parent, include_parent)
2081 	        ctf_integer(char, whole_object, whole_object)
2082 	    )
2083 	)
2084 	
2085 	TRACEPOINT_EVENT(librbd, diff_iterate_exit,
2086 	    TP_ARGS(
2087 	        int, retval),
2088 	    TP_FIELDS(
2089 	        ctf_integer(int, retval, retval)
2090 	    )
2091 	)
2092 	
2093 	TRACEPOINT_EVENT(librbd, get_parent_info_enter,
2094 	    TP_ARGS(
2095 	        void*, imagectx,
2096 	        const char*, name,
2097 	        const char*, snap_name,
2098 	        char, read_only),
2099 	    TP_FIELDS(
2100 	        ctf_integer_hex(void*, imagectx, imagectx)
2101 	        ctf_string(name, name)
2102 	        ctf_string(snap_name, snap_name)
2103 	        ctf_integer(char, read_only, read_only)
2104 	    )
2105 	)
2106 	
2107 	TRACEPOINT_EVENT(librbd, get_parent_info_exit,
2108 	    TP_ARGS(
2109 	        int, retval,
2110 	        const char*, parent_pool_name,
2111 	        const char*, parent_name,
2112 	        const char*, parent_id,
2113 	        const char*, parent_snap_name),
2114 	    TP_FIELDS(
2115 	        ctf_integer(int, retval, retval)
2116 	        ceph_ctf_string(parent_pool_name, parent_pool_name)
2117 	        ceph_ctf_string(parent_name, parent_name)
2118 	        ceph_ctf_string(parent_id, parent_id)
2119 	        ceph_ctf_string(parent_snap_name, parent_snap_name)
2120 	    )
2121 	)
2122 	
2123 	TRACEPOINT_EVENT(librbd, get_overlap_enter,
2124 	    TP_ARGS(
2125 	        void*, imagectx,
2126 	        const char*, name,
2127 	        const char*, snap_name,
2128 	        char, read_only),
2129 	    TP_FIELDS(
2130 	        ctf_integer_hex(void*, imagectx, imagectx)
2131 	        ctf_string(name, name)
2132 	        ctf_string(snap_name, snap_name)
2133 	        ctf_integer(char, read_only, read_only)
2134 	    )
2135 	)
2136 	
2137 	TRACEPOINT_EVENT(librbd, get_overlap_exit,
2138 	    TP_ARGS(
2139 	        int, retval,
2140 	        uint64_t, overlap),
2141 	    TP_FIELDS(
2142 	        ctf_integer(int, retval, retval)
2143 	        ctf_integer(uint64_t, overlap, overlap)
2144 	    )
2145 	)
2146 	
2147 	TRACEPOINT_EVENT(librbd, get_stripe_unit_enter,
2148 	    TP_ARGS(
2149 	        void*, imagectx,
2150 	        const char*, name,
2151 	        const char*, snap_name,
2152 	        char, read_only),
2153 	    TP_FIELDS(
2154 	        ctf_integer_hex(void*, imagectx, imagectx)
2155 	        ctf_string(name, name)
2156 	        ctf_string(snap_name, snap_name)
2157 	        ctf_integer(char, read_only, read_only)
2158 	    )
2159 	)
2160 	
2161 	TRACEPOINT_EVENT(librbd, get_stripe_unit_exit,
2162 	    TP_ARGS(
2163 	        int, retval,
2164 	        uint64_t, stripe_unit),
2165 	    TP_FIELDS(
2166 	        ctf_integer(int, retval, retval)
2167 	        ctf_integer(uint64_t, stripe_unit, stripe_unit)
2168 	    )
2169 	)
2170 	
2171 	TRACEPOINT_EVENT(librbd, get_stripe_count_enter,
2172 	    TP_ARGS(
2173 	        void*, imagectx,
2174 	        const char*, name,
2175 	        const char*, snap_name,
2176 	        char, read_only),
2177 	    TP_FIELDS(
2178 	        ctf_integer_hex(void*, imagectx, imagectx)
2179 	        ctf_string(name, name)
2180 	        ctf_string(snap_name, snap_name)
2181 	        ctf_integer(char, read_only, read_only)
2182 	    )
2183 	)
2184 	
2185 	TRACEPOINT_EVENT(librbd, get_stripe_count_exit,
2186 	    TP_ARGS(
2187 	        int, retval,
2188 	        uint64_t, stripe_count),
2189 	    TP_FIELDS(
2190 	        ctf_integer(int, retval, retval)
2191 	        ctf_integer(uint64_t, stripe_count, stripe_count)
2192 	    )
2193 	)
2194 	
2195 	TRACEPOINT_EVENT(librbd, get_create_timestamp_enter,
2196 	    TP_ARGS(
2197 	        void*, imagectx,
2198 	        const char*, name,
2199 	        char, read_only),
2200 	    TP_FIELDS(
2201 	        ctf_integer_hex(void*, imagectx, imagectx)
2202 	        ctf_string(name, name)
2203 	        ctf_integer(char, read_only, read_only)
2204 	    )
2205 	)
2206 	
2207 	TRACEPOINT_EVENT(librbd, get_create_timestamp_exit,
2208 	    TP_ARGS(
2209 	        int, retval,
2210 	        struct timespec*, timestamp),
2211 	    TP_FIELDS(
2212 	        ctf_integer(int, retval, retval)
2213 	        ctf_integer(uint64_t, timestamp, timestamp->tv_sec)
2214 	    )
2215 	)
2216 	
2217 	TRACEPOINT_EVENT(librbd, get_access_timestamp_enter,
2218 	    TP_ARGS(
2219 	        void*, imagectx,
2220 	        const char*, name,
2221 	        char, read_only),
2222 	    TP_FIELDS(
2223 	        ctf_integer_hex(void*, imagectx, imagectx)
2224 	        ctf_string(name, name)
2225 	        ctf_integer(char, read_only, read_only)
2226 	    )
2227 	)
2228 	
2229 	TRACEPOINT_EVENT(librbd, get_access_timestamp_exit,
2230 	    TP_ARGS(
2231 	        int, retval,
2232 	        struct timespec*, timestamp),
2233 	    TP_FIELDS(
2234 	        ctf_integer(int, retval, retval)
2235 	        ctf_integer(uint64_t, timestamp, timestamp->tv_sec)
2236 	    )
2237 	)
2238 	
2239 	TRACEPOINT_EVENT(librbd, get_modify_timestamp_enter,
2240 	    TP_ARGS(
2241 	        void*, imagectx,
2242 	        const char*, name,
2243 	        char, read_only),
2244 	    TP_FIELDS(
2245 	        ctf_integer_hex(void*, imagectx, imagectx)
2246 	        ctf_string(name, name)
2247 	        ctf_integer(char, read_only, read_only)
2248 	    )
2249 	)
2250 	
2251 	TRACEPOINT_EVENT(librbd, get_modify_timestamp_exit,
2252 	    TP_ARGS(
2253 	        int, retval,
2254 	        struct timespec*, timestamp),
2255 	    TP_FIELDS(
2256 	        ctf_integer(int, retval, retval)
2257 	        ctf_integer(uint64_t, timestamp, timestamp->tv_sec)
2258 	    )
2259 	)
2260 	
2261 	
2262 	TRACEPOINT_EVENT(librbd, get_features_enter,
2263 	    TP_ARGS(
2264 	        void*, imagectx,
2265 	        const char*, name,
2266 	        const char*, snap_name,
2267 	        char, read_only),
2268 	    TP_FIELDS(
2269 	        ctf_integer_hex(void*, imagectx, imagectx)
2270 	        ctf_string(name, name)
2271 	        ctf_string(snap_name, snap_name)
2272 	        ctf_integer(char, read_only, read_only)
2273 	    )
2274 	)
2275 	
2276 	TRACEPOINT_EVENT(librbd, get_features_exit,
2277 	    TP_ARGS(
2278 	        int, retval,
2279 	        uint64_t, features),
2280 	    TP_FIELDS(
2281 	        ctf_integer(int, retval, retval)
2282 	        ctf_integer(uint64_t, features, features)
2283 	    )
2284 	)
2285 	
2286 	TRACEPOINT_EVENT(librbd, update_features_enter,
2287 	    TP_ARGS(
2288 	        void*, imagectx,
2289 	        uint64_t, features,
2290 	        char, enabled),
2291 	    TP_FIELDS(
2292 	        ctf_integer_hex(void*, imagectx, imagectx)
2293 	        ctf_integer(uint64_t, features, features)
2294 		ctf_integer(char, enabled, enabled)
2295 	    )
2296 	)
2297 	
2298 	TRACEPOINT_EVENT(librbd, update_features_exit,
2299 	    TP_ARGS(
2300 	        int, retval),
2301 	    TP_FIELDS(
2302 	        ctf_integer(int, retval, retval)
2303 	    )
2304 	)
2305 	
2306 	TRACEPOINT_EVENT(librbd, get_size_enter,
2307 	    TP_ARGS(
2308 	        void*, imagectx,
2309 	        const char*, name,
2310 	        const char*, snap_name,
2311 	        char, read_only),
2312 	    TP_FIELDS(
2313 	        ctf_integer_hex(void*, imagectx, imagectx)
2314 	        ctf_string(name, name)
2315 	        ctf_string(snap_name, snap_name)
2316 	        ctf_integer(char, read_only, read_only)
2317 	    )
2318 	)
2319 	
2320 	TRACEPOINT_EVENT(librbd, get_size_exit,
2321 	    TP_ARGS(
2322 	        int, retval,
2323 	        uint64_t, size),
2324 	    TP_FIELDS(
2325 	        ctf_integer(int, retval, retval)
2326 	        ctf_integer(uint64_t, size, size)
2327 	    )
2328 	)
2329 	
2330 	TRACEPOINT_EVENT(librbd, get_old_format_enter,
2331 	    TP_ARGS(
2332 	        void*, imagectx,
2333 	        const char*, name,
2334 	        const char*, snap_name,
2335 	        char, read_only),
2336 	    TP_FIELDS(
2337 	        ctf_integer_hex(void*, imagectx, imagectx)
2338 	        ctf_string(name, name)
2339 	        ctf_string(snap_name, snap_name)
2340 	        ctf_integer(char, read_only, read_only)
2341 	    )
2342 	)
2343 	
2344 	TRACEPOINT_EVENT(librbd, get_old_format_exit,
2345 	    TP_ARGS(
2346 	        int, retval,
2347 	        uint64_t, old_format),
2348 	    TP_FIELDS(
2349 	        ctf_integer(int, retval, retval)
2350 	        ctf_integer(uint64_t, old_format, old_format)
2351 	    )
2352 	)
2353 	
2354 	TRACEPOINT_EVENT(librbd, get_flags_enter,
2355 	    TP_ARGS(
2356 	        void*, imagectx),
2357 	    TP_FIELDS(
2358 	      ctf_integer_hex(void*, imagectx, imagectx)
2359 	    )
2360 	)
2361 	
2362 	TRACEPOINT_EVENT(librbd, get_flags_exit,
2363 	    TP_ARGS(
2364 	        void*, imagectx,
2365 	        int, retval,
2366 	        uint64_t, flags),
2367 	    TP_FIELDS(
2368 	      ctf_integer_hex(void*, imagectx, imagectx)
2369 	      ctf_integer(int, retval, retval)
2370 	      ctf_integer(uint64_t, flags, flags)
2371 	    )
2372 	)
2373 	
2374 	TRACEPOINT_EVENT(librbd, set_image_notification_enter,
2375 	    TP_ARGS(
2376 	        void*, imagectx,
2377 	        int, fd,
2378 	        int, type),
2379 	    TP_FIELDS(
2380 	      ctf_integer_hex(void*, imagectx, imagectx)
2381 	      ctf_integer(int, fd, fd)
2382 	      ctf_integer(int, type, type)
2383 	    )
2384 	)
2385 	
2386 	TRACEPOINT_EVENT(librbd, set_image_notification_exit,
2387 	    TP_ARGS(
2388 	        void*, imagectx,
2389 	        int, retval),
2390 	    TP_FIELDS(
2391 	      ctf_integer_hex(void*, imagectx, imagectx)
2392 	      ctf_integer(int, retval, retval)
2393 	    )
2394 	)
2395 	
2396 	TRACEPOINT_EVENT(librbd, is_exclusive_lock_owner_enter,
2397 	    TP_ARGS(
2398 	        void*, imagectx),
2399 	    TP_FIELDS(
2400 	      ctf_integer_hex(void*, imagectx, imagectx)
2401 	    )
2402 	)
2403 	
2404 	TRACEPOINT_EVENT(librbd, is_exclusive_lock_owner_exit,
2405 	    TP_ARGS(
2406 	        void*, imagectx,
2407 	        int, retval,
2408 	        char, is_owner),
2409 	    TP_FIELDS(
2410 	      ctf_integer_hex(void*, imagectx, imagectx)
2411 	      ctf_integer(int, retval, retval)
2412 	      ctf_integer(char, is_owner, is_owner)
2413 	    )
2414 	)
2415 	
2416 	TRACEPOINT_EVENT(librbd, lock_acquire_enter,
2417 	    TP_ARGS(
2418 	        void*, imagectx,
2419 	        int, lock_mode),
2420 	    TP_FIELDS(
2421 	      ctf_integer_hex(void*, imagectx, imagectx)
2422 	      ctf_integer(int, lock_mode, lock_mode)
2423 	    )
2424 	)
2425 	
2426 	TRACEPOINT_EVENT(librbd, lock_acquire_exit,
2427 	    TP_ARGS(
2428 	        void*, imagectx,
2429 	        int, retval),
2430 	    TP_FIELDS(
2431 	      ctf_integer_hex(void*, imagectx, imagectx)
2432 	      ctf_integer(int, retval, retval)
2433 	    )
2434 	)
2435 	
2436 	TRACEPOINT_EVENT(librbd, lock_release_enter,
2437 	    TP_ARGS(
2438 	        void*, imagectx),
2439 	    TP_FIELDS(
2440 	      ctf_integer_hex(void*, imagectx, imagectx)
2441 	    )
2442 	)
2443 	
2444 	TRACEPOINT_EVENT(librbd, lock_release_exit,
2445 	    TP_ARGS(
2446 	        void*, imagectx,
2447 	        int, retval),
2448 	    TP_FIELDS(
2449 	      ctf_integer_hex(void*, imagectx, imagectx)
2450 	      ctf_integer(int, retval, retval)
2451 	    )
2452 	)
2453 	
2454 	TRACEPOINT_EVENT(librbd, lock_get_owners_enter,
2455 	    TP_ARGS(
2456 	        void*, imagectx),
2457 	    TP_FIELDS(
2458 	        ctf_integer_hex(void*, imagectx, imagectx)
2459 	    )
2460 	)
2461 	
2462 	TRACEPOINT_EVENT(librbd, lock_get_owners_exit,
2463 	    TP_ARGS(
2464 	        void*, imagectx,
2465 	        int, retval),
2466 	    TP_FIELDS(
2467 	        ctf_integer_hex(void*, imagectx, imagectx)
2468 	        ctf_integer(int, retval, retval)
2469 	    )
2470 	)
2471 	
2472 	TRACEPOINT_EVENT(librbd, lock_break_enter,
2473 	    TP_ARGS(
2474 	        void*, imagectx,
2475 	        int, lock_mode,
2476 		const char*, lock_owner),
2477 	    TP_FIELDS(
2478 	        ctf_integer_hex(void*, imagectx, imagectx)
2479 	        ctf_integer(int, lock_mode, lock_mode)
2480 	        ctf_string(lock_owner, lock_owner)
2481 	    )
2482 	)
2483 	
2484 	TRACEPOINT_EVENT(librbd, lock_break_exit,
2485 	    TP_ARGS(
2486 	        void*, imagectx,
2487 	        int, retval),
2488 	    TP_FIELDS(
2489 	        ctf_integer_hex(void*, imagectx, imagectx)
2490 	        ctf_integer(int, retval, retval)
2491 	    )
2492 	)
2493 	
2494 	TRACEPOINT_EVENT(librbd, stat_enter,
2495 	    TP_ARGS(
2496 	        void*, imagectx,
2497 	        const char*, name,
2498 	        const char*, snap_name,
2499 	        char, read_only),
2500 	    TP_FIELDS(
2501 	        ctf_integer_hex(void*, imagectx, imagectx)
2502 	        ctf_string(name, name)
2503 	        ctf_string(snap_name, snap_name)
2504 	        ctf_integer(char, read_only, read_only)
2505 	    )
2506 	)
2507 	
2508 	TRACEPOINT_EVENT(librbd, stat_exit,
2509 	    TP_ARGS(
2510 	        int, retval,
2511 	        rbd_image_info_t*, info),
2512 	    TP_FIELDS(
2513 	        ctf_integer(int, retval, retval)
2514 	        ctf_integer(uint64_t, size, info->size)
2515 	        ctf_integer(uint64_t, obj_size, info->obj_size)
2516 	        ctf_integer(uint64_t, num_objs, info->num_objs)
2517 	        ctf_integer(int, order, info->order)
2518 	        ctf_array_text(char, block_name_prefix, info->block_name_prefix, RBD_MAX_BLOCK_NAME_SIZE)
2519 	        ctf_integer(int64_t, parent_pool, info->parent_pool)
2520 	        ctf_array_text(char, parent_name, info->parent_name, RBD_MAX_IMAGE_NAME_SIZE)
2521 	    )
2522 	)
2523 	
2524 	TRACEPOINT_EVENT(librbd, group_create_enter,
2525 	    TP_ARGS(
2526 	        const char*, pool_name,
2527 	        int64_t, id,
2528 	        const char*, groupname),
2529 	    TP_FIELDS(
2530 	        ctf_string(pool_name, pool_name)
2531 	        ctf_integer(int64_t, id, id)
2532 	        ctf_string(groupname, groupname)
2533 	    )
2534 	)
2535 	
2536 	TRACEPOINT_EVENT(librbd, group_create_exit,
2537 	    TP_ARGS(
2538 	        int, retval),
2539 	    TP_FIELDS(
2540 	        ctf_integer(int, retval, retval)
2541 	    )
2542 	)
2543 	
2544 	TRACEPOINT_EVENT(librbd, group_remove_enter,
2545 	    TP_ARGS(
2546 	        const char*, pool_name,
2547 	        int64_t, id,
2548 	        const char*, groupname),
2549 	    TP_FIELDS(
2550 	        ctf_string(pool_name, pool_name)
2551 	        ctf_integer(int64_t, id, id)
2552 	        ctf_string(groupname, groupname)
2553 	    )
2554 	)
2555 	
2556 	TRACEPOINT_EVENT(librbd, group_remove_exit,
2557 	    TP_ARGS(
2558 	        int, retval),
2559 	    TP_FIELDS(
2560 	        ctf_integer(int, retval, retval)
2561 	    )
2562 	)
2563 	
2564 	TRACEPOINT_EVENT(librbd, group_rename_enter,
2565 	    TP_ARGS(
2566 	        const char*, pool_name,
2567 	        int64_t, id,
2568 	        const char*, groupname,
2569 	        const char*, destgroupname),
2570 	    TP_FIELDS(
2571 	        ctf_string(pool_name, pool_name)
2572 	        ctf_integer(int64_t, id, id)
2573 	        ctf_string(groupname, groupname)
2574 	        ctf_string(destgroupname, destgroupname)
2575 	    )
2576 	)
2577 	
2578 	TRACEPOINT_EVENT(librbd, group_rename_exit,
2579 	    TP_ARGS(
2580 	        int, retval),
2581 	    TP_FIELDS(
2582 	        ctf_integer(int, retval, retval)
2583 	    )
2584 	)
2585 	
2586 	TRACEPOINT_EVENT(librbd, group_list_enter,
2587 	    TP_ARGS(
2588 	        const char*, pool_name,
2589 	        int64_t, id),
2590 	    TP_FIELDS(
2591 	        ctf_string(pool_name, pool_name)
2592 	        ctf_integer(int64_t, id, id)
2593 	    )
2594 	)
2595 	
2596 	TRACEPOINT_EVENT(librbd, group_list_entry,
2597 	    TP_ARGS(
2598 	        const char*, name),
2599 	    TP_FIELDS(
2600 	        ctf_string(name, name)
2601 	    )
2602 	)
2603 	
2604 	TRACEPOINT_EVENT(librbd, group_list_exit,
2605 	    TP_ARGS(
2606 	        int, retval),
2607 	    TP_FIELDS(
2608 	        ctf_integer(int, retval, retval)
2609 	    )
2610 	)
2611 	
2612 	TRACEPOINT_EVENT(librbd, update_watch_enter,
2613 	    TP_ARGS(
2614 	        void*, imagectx,
2615 	        void*, watchctx),
2616 	    TP_FIELDS(
2617 	        ctf_integer_hex(void*, imagctx, imagectx)
2618 	        ctf_integer_hex(void*, watchctx, watchctx)
2619 	    )
2620 	)
2621 	
2622 	TRACEPOINT_EVENT(librbd, update_watch_exit,
2623 	    TP_ARGS(
2624 	        int, retval,
2625 	        uint64_t, handle),
2626 	    TP_FIELDS(
2627 	        ctf_integer(int, retval, retval)
2628 	        ctf_integer(uint64_t, handle, handle)
2629 	    )
2630 	)
2631 	
2632 	TRACEPOINT_EVENT(librbd, update_unwatch_enter,
2633 	    TP_ARGS(
2634 	        void*, imagectx,
2635 	        uint64_t, handle),
2636 	    TP_FIELDS(
2637 	        ctf_integer_hex(void*, imagctx, imagectx)
2638 	        ctf_integer(uint64_t, handle, handle)
2639 	    )
2640 	)
2641 	
2642 	TRACEPOINT_EVENT(librbd, update_unwatch_exit,
2643 	    TP_ARGS(
2644 	        int, retval),
2645 	    TP_FIELDS(
2646 	        ctf_integer(int, retval, retval)
2647 	    )
2648 	)
2649 	
2650 	TRACEPOINT_EVENT(librbd, snap_get_namespace_type_enter,
2651 	    TP_ARGS(
2652 	        void*, imagectx,
2653 	        const char*, name),
2654 	    TP_FIELDS(
2655 	        ctf_integer_hex(void*, imagectx, imagectx)
2656 	        ctf_string(name, name)
2657 	    )
2658 	)
2659 	
2660 	TRACEPOINT_EVENT(librbd, snap_get_namespace_type_exit,
2661 	    TP_ARGS(
2662 	        int, retval),
2663 		TP_FIELDS(
2664 	        ctf_integer(int, retval, retval)
2665 	    )
2666 	)
2667 	
2668 	TRACEPOINT_EVENT(librbd, snap_get_group_namespace_enter,
2669 	    TP_ARGS(
2670 	        void*, imagectx,
2671 	        const char*, name),
2672 	    TP_FIELDS(
2673 	        ctf_integer_hex(void*, imagectx, imagectx)
2674 	        ctf_string(name, name)
2675 	    )
2676 	)
2677 	
2678 	TRACEPOINT_EVENT(librbd, snap_get_group_namespace_exit,
2679 	    TP_ARGS(
2680 	        int, retval),
2681 		TP_FIELDS(
2682 	        ctf_integer(int, retval, retval)
2683 	    )
2684 	)
2685 	
2686 	TRACEPOINT_EVENT(librbd, group_image_add_enter,
2687 	    TP_ARGS(
2688 	        const char*, pool_name,
2689 	        int64_t, id,
2690 	        const char*, group_name,
2691 	        const char*, image_pool_name,
2692 	        int64_t, image_id,
2693 	        const char*, image_name),
2694 	    TP_FIELDS(
2695 	        ctf_string(pool_name, pool_name)
2696 	        ctf_integer(int64_t, id, id)
2697 	        ctf_string(group_name, group_name)
2698 	        ctf_string(image_pool_name, image_pool_name)
2699 	        ctf_integer(int64_t, image_id, image_id)
2700 	        ctf_string(image_name, image_name)
2701 	    )
2702 	)
2703 	
2704 	TRACEPOINT_EVENT(librbd, group_image_add_exit,
2705 	    TP_ARGS(
2706 	        int, retval),
2707 	    TP_FIELDS(
2708 	        ctf_integer(int, retval, retval)
2709 	    )
2710 	)
2711 	
2712 	TRACEPOINT_EVENT(librbd, group_image_remove_enter,
2713 	    TP_ARGS(
2714 	        const char*, pool_name,
2715 	        int64_t, id,
2716 	        const char*, group_name,
2717 	        const char*, image_pool_name,
2718 	        int64_t, image_id,
2719 	        const char*, image_name),
2720 	    TP_FIELDS(
2721 	        ctf_string(pool_name, pool_name)
2722 	        ctf_integer(int64_t, id, id)
2723 	        ctf_string(group_name, group_name)
2724 	        ctf_string(image_pool_name, image_pool_name)
2725 	        ctf_integer(int64_t, image_id, image_id)
2726 	        ctf_string(image_name, image_name)
2727 	    )
2728 	)
2729 	
2730 	TRACEPOINT_EVENT(librbd, group_image_remove_exit,
2731 	    TP_ARGS(
2732 	        int, retval),
2733 	    TP_FIELDS(
2734 	        ctf_integer(int, retval, retval)
2735 	    )
2736 	)
2737 	
2738 	TRACEPOINT_EVENT(librbd, group_image_remove_by_id_enter,
2739 	    TP_ARGS(
2740 	        const char*, pool_name,
2741 	        int64_t, id,
2742 	        const char*, group_name,
2743 	        const char*, image_pool_name,
2744 	        int64_t, image_ioctx_id,
2745 	        const char*, image_id),
2746 	    TP_FIELDS(
2747 	        ctf_string(pool_name, pool_name)
2748 	        ctf_integer(int64_t, id, id)
2749 	        ctf_string(group_name, group_name)
2750 	        ctf_string(image_pool_name, image_pool_name)
2751 	        ctf_integer(int64_t, image_ioctx_id, image_ioctx_id)
2752 	        ctf_string(image_id, image_id)
2753 	    )
2754 	)
2755 	
2756 	TRACEPOINT_EVENT(librbd, group_image_remove_by_id_exit,
2757 	    TP_ARGS(
2758 	        int, retval),
2759 	    TP_FIELDS(
2760 	        ctf_integer(int, retval, retval)
2761 	    )
2762 	)
2763 	
2764 	TRACEPOINT_EVENT(librbd, group_image_list_enter,
2765 	    TP_ARGS(
2766 	        const char*, pool_name,
2767 	        int64_t, id,
2768 	        const char*, group_name),
2769 	    TP_FIELDS(
2770 	        ctf_string(pool_name, pool_name)
2771 	        ctf_integer(int64_t, id, id)
2772 	        ctf_string(group_name, group_name)
2773 	    )
2774 	)
2775 	
2776 	TRACEPOINT_EVENT(librbd, group_image_list_exit,
2777 	    TP_ARGS(
2778 		    int, retval),
2779 	    TP_FIELDS(
2780 	        ctf_integer(int, retval, retval)
2781 	    )
2782 	)
2783 	
2784 	TRACEPOINT_EVENT(librbd, image_get_group_enter,
2785 	    TP_ARGS(
2786 	        const char*, image_name),
2787 	    TP_FIELDS(
2788 	        ctf_string(image_name, image_name)
2789 	    )
2790 	)
2791 	
2792 	TRACEPOINT_EVENT(librbd, image_get_group_exit,
2793 	    TP_ARGS(
2794 		    int, retval),
2795 	    TP_FIELDS(
2796 	        ctf_integer(int, retval, retval)
2797 	    )
2798 	)
2799 	
2800 	TRACEPOINT_EVENT(librbd, group_snap_create_enter,
2801 	    TP_ARGS(
2802 	        const char*, pool_name,
2803 	        int64_t, id,
2804 	        const char*, group_name,
2805 	        const char*, snap_name),
2806 	    TP_FIELDS(
2807 	        ctf_string(pool_name, pool_name)
2808 	        ctf_integer(int64_t, id, id)
2809 	        ctf_string(group_name, group_name)
2810 	        ctf_string(snap_name, snap_name)
2811 	    )
2812 	)
2813 	
2814 	TRACEPOINT_EVENT(librbd, group_snap_create_exit,
2815 	    TP_ARGS(
2816 		    int, retval),
2817 	    TP_FIELDS(
2818 	        ctf_integer(int, retval, retval)
2819 	    )
2820 	)
2821 	
2822 	TRACEPOINT_EVENT(librbd, group_snap_remove_enter,
2823 	    TP_ARGS(
2824 	        const char*, pool_name,
2825 	        int64_t, id,
2826 	        const char*, group_name,
2827 	        const char*, snap_name),
2828 	    TP_FIELDS(
2829 	        ctf_string(pool_name, pool_name)
2830 	        ctf_integer(int64_t, id, id)
2831 	        ctf_string(group_name, group_name)
2832 	        ctf_string(snap_name, snap_name)
2833 	    )
2834 	)
2835 	
2836 	TRACEPOINT_EVENT(librbd, group_snap_remove_exit,
2837 	    TP_ARGS(
2838 		    int, retval),
2839 	    TP_FIELDS(
2840 	        ctf_integer(int, retval, retval)
2841 	    )
2842 	)
2843 	
2844 	TRACEPOINT_EVENT(librbd, group_snap_rename_enter,
2845 	    TP_ARGS(
2846 	        const char*, pool_name,
2847 	        int64_t, id,
2848 	        const char*, group_name,
2849 	        const char*, old_snap_name,
2850 	        const char*, new_snap_name),
2851 	    TP_FIELDS(
2852 	        ctf_string(pool_name, pool_name)
2853 	        ctf_integer(int64_t, id, id)
2854 	        ctf_string(group_name, group_name)
2855 	        ctf_string(old_snap_name, old_snap_name)
2856 	        ctf_string(new_snap_name, new_snap_name)
2857 	    )
2858 	)
2859 	
2860 	TRACEPOINT_EVENT(librbd, group_snap_rename_exit,
2861 	    TP_ARGS(
2862 		    int, retval),
2863 	    TP_FIELDS(
2864 	        ctf_integer(int, retval, retval)
2865 	    )
2866 	)
2867 	
2868 	TRACEPOINT_EVENT(librbd, group_snap_list_enter,
2869 	    TP_ARGS(
2870 	        const char*, pool_name,
2871 	        int64_t, id,
2872 	        const char*, group_name),
2873 	    TP_FIELDS(
2874 	        ctf_string(pool_name, pool_name)
2875 	        ctf_integer(int64_t, id, id)
2876 	        ctf_string(group_name, group_name)
2877 	    )
2878 	)
2879 	
2880 	TRACEPOINT_EVENT(librbd, group_snap_list_exit,
2881 	    TP_ARGS(
2882 		    int, retval),
2883 	    TP_FIELDS(
2884 	        ctf_integer(int, retval, retval)
2885 	    )
2886 	)
2887 	
2888 	TRACEPOINT_EVENT(librbd, group_snap_rollback_enter,
2889 	    TP_ARGS(
2890 	        const char*, pool_name,
2891 	        int64_t, id,
2892 	        const char*, group_name,
2893 	        const char*, snap_name),
2894 	    TP_FIELDS(
2895 	        ctf_string(pool_name, pool_name)
2896 	        ctf_integer(int64_t, id, id)
2897 	        ctf_string(group_name, group_name)
2898 	        ctf_string(snap_name, snap_name)
2899 	    )
2900 	)
2901 	
2902 	TRACEPOINT_EVENT(librbd, group_snap_rollback_exit,
2903 	    TP_ARGS(
2904 	        int, retval),
2905 	    TP_FIELDS(
2906 	        ctf_integer(int, retval, retval)
2907 	    )
2908 	)
2909 	
2910 	TRACEPOINT_EVENT(librbd, list_watchers_enter,
2911 	    TP_ARGS(
2912 	        void*, imagectx,
2913 	        const char*, name,
2914 	        const char*, snap_name,
2915 	        char, read_only),
2916 	    TP_FIELDS(
2917 	        ctf_integer_hex(void*, imagectx, imagectx)
2918 	        ctf_string(name, name)
2919 	        ctf_string(snap_name, snap_name)
2920 	        ctf_integer(char, read_only, read_only)
2921 	    )
2922 	)
2923 	
2924 	TRACEPOINT_EVENT(librbd, list_watchers_entry,
2925 	    TP_ARGS(
2926 	        const char*, addr,
2927 	        int64_t, id,
2928 	        uint64_t, cookie),
2929 	    TP_FIELDS(
2930 	        ctf_string(addr, addr)
2931 	        ctf_integer(int64_t, id, id)
2932 	        ctf_integer(uint64_t, cookie, cookie)
2933 	    )
2934 	)
2935 	
2936 	TRACEPOINT_EVENT(librbd, list_watchers_exit,
2937 	    TP_ARGS(
2938 	        int, retval,
2939 	        size_t, num_watchers),
2940 	    TP_FIELDS(
2941 	        ctf_integer(int, retval, retval)
2942 	        ctf_integer(size_t, num_watchers, num_watchers)
2943 	    )
2944 	)
2945 	
2946 	#endif /* TRACING_LIBRBD_H */
2947 	
2948 	#include <lttng/tracepoint-event.h>
2949