Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 4e5591c2fc1b30f4ea5e2eab4c3a695acc404e39 107 lines 2.8 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#undef TRACE_SYSTEM 3#define TRACE_SYSTEM lockd 4 5#if !defined(_TRACE_LOCKD_H) || defined(TRACE_HEADER_MULTI_READ) 6#define _TRACE_LOCKD_H 7 8#include <linux/tracepoint.h> 9#include <linux/crc32.h> 10#include <linux/nfs.h> 11 12#include "lockd.h" 13 14#ifdef CONFIG_LOCKD_V4 15#define NLM_STATUS_LIST \ 16 nlm_status_code(LCK_GRANTED) \ 17 nlm_status_code(LCK_DENIED) \ 18 nlm_status_code(LCK_DENIED_NOLOCKS) \ 19 nlm_status_code(LCK_BLOCKED) \ 20 nlm_status_code(LCK_DENIED_GRACE_PERIOD) \ 21 nlm_status_code(DEADLCK) \ 22 nlm_status_code(ROFS) \ 23 nlm_status_code(STALE_FH) \ 24 nlm_status_code(FBIG) \ 25 nlm_status_code_end(FAILED) 26#else 27#define NLM_STATUS_LIST \ 28 nlm_status_code(LCK_GRANTED) \ 29 nlm_status_code(LCK_DENIED) \ 30 nlm_status_code(LCK_DENIED_NOLOCKS) \ 31 nlm_status_code(LCK_BLOCKED) \ 32 nlm_status_code_end(LCK_DENIED_GRACE_PERIOD) 33#endif 34 35#undef nlm_status_code 36#undef nlm_status_code_end 37#define nlm_status_code(x) TRACE_DEFINE_ENUM(NLM_##x); 38#define nlm_status_code_end(x) TRACE_DEFINE_ENUM(NLM_##x); 39 40NLM_STATUS_LIST 41 42#undef nlm_status_code 43#undef nlm_status_code_end 44#define nlm_status_code(x) { NLM_##x, #x }, 45#define nlm_status_code_end(x) { NLM_##x, #x } 46 47#define show_nlm_status(x) __print_symbolic(x, NLM_STATUS_LIST) 48 49DECLARE_EVENT_CLASS(nlmclnt_lock_event, 50 TP_PROTO( 51 const struct nlm_lock *lock, 52 const struct sockaddr *addr, 53 unsigned int addrlen, 54 __be32 status 55 ), 56 57 TP_ARGS(lock, addr, addrlen, status), 58 59 TP_STRUCT__entry( 60 __field(u32, oh) 61 __field(u32, svid) 62 __field(u32, fh) 63 __field(unsigned long, status) 64 __field(u64, start) 65 __field(u64, len) 66 __sockaddr(addr, addrlen) 67 ), 68 69 TP_fast_assign( 70 __entry->oh = ~crc32_le(0xffffffff, lock->oh.data, lock->oh.len); 71 __entry->svid = lock->svid; 72 __entry->fh = nfs_fhandle_hash(&lock->fh); 73 __entry->start = lock->lock_start; 74 __entry->len = lock->lock_len; 75 __entry->status = be32_to_cpu(status); 76 __assign_sockaddr(addr, addr, addrlen); 77 ), 78 79 TP_printk( 80 "addr=%pISpc oh=0x%08x svid=0x%08x fh=0x%08x start=%llu len=%llu status=%s", 81 __get_sockaddr(addr), __entry->oh, __entry->svid, 82 __entry->fh, __entry->start, __entry->len, 83 show_nlm_status(__entry->status) 84 ) 85); 86 87#define DEFINE_NLMCLNT_EVENT(name) \ 88 DEFINE_EVENT(nlmclnt_lock_event, name, \ 89 TP_PROTO( \ 90 const struct nlm_lock *lock, \ 91 const struct sockaddr *addr, \ 92 unsigned int addrlen, \ 93 __be32 status \ 94 ), \ 95 TP_ARGS(lock, addr, addrlen, status)) 96 97DEFINE_NLMCLNT_EVENT(nlmclnt_test); 98DEFINE_NLMCLNT_EVENT(nlmclnt_lock); 99DEFINE_NLMCLNT_EVENT(nlmclnt_unlock); 100DEFINE_NLMCLNT_EVENT(nlmclnt_grant); 101 102#endif /* _TRACE_LOCKD_H */ 103 104#undef TRACE_INCLUDE_PATH 105#define TRACE_INCLUDE_PATH . 106#define TRACE_INCLUDE_FILE trace 107#include <trace/define_trace.h>