Skip to content

Commit 5ac417d

Browse files
committed
netfs: Generate enums from trace symbol mapping lists
netfs has a number of lists of symbols for use in tracing, listed in an enum and then listed again in a symbol->string mapping for use with __print_symbolic(). This is, however, redundant. Instead, use the symbol->string mapping list to also generate the enum where the enum is in the same file. Changes ======= ver #3) - #undef EM and E_ at the end of the trace file[1]. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Jeff Layton <jlayton@redhat.com> cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/c2f4b3dc107b106e04c48f54945a12715cccfdf3.camel@redhat.com/ [1] Link: https://lore.kernel.org/r/164622980839.3564931.5673300162465266909.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/164678192454.1200972.4428834328108580460.stgit@warthog.procyon.org.uk/ # v2 Link: https://lore.kernel.org/r/CALF+zOkB38_MB5QwNUtqTU4WjMaLUJ5+Piwsn3pMxkO3d4J7Kg@mail.gmail.com/ # v2 Link: https://lore.kernel.org/r/164692890614.2099075.12960653141802151575.stgit@warthog.procyon.org.uk/ # v3
1 parent e9b57aa commit 5ac417d

1 file changed

Lines changed: 16 additions & 43 deletions

File tree

include/trace/events/netfs.h

Lines changed: 16 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,49 +15,6 @@
1515
/*
1616
* Define enums for tracing information.
1717
*/
18-
#ifndef __NETFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
19-
#define __NETFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
20-
21-
enum netfs_read_trace {
22-
netfs_read_trace_expanded,
23-
netfs_read_trace_readahead,
24-
netfs_read_trace_readpage,
25-
netfs_read_trace_write_begin,
26-
};
27-
28-
enum netfs_rreq_trace {
29-
netfs_rreq_trace_assess,
30-
netfs_rreq_trace_done,
31-
netfs_rreq_trace_free,
32-
netfs_rreq_trace_resubmit,
33-
netfs_rreq_trace_unlock,
34-
netfs_rreq_trace_unmark,
35-
netfs_rreq_trace_write,
36-
};
37-
38-
enum netfs_sreq_trace {
39-
netfs_sreq_trace_download_instead,
40-
netfs_sreq_trace_free,
41-
netfs_sreq_trace_prepare,
42-
netfs_sreq_trace_resubmit_short,
43-
netfs_sreq_trace_submit,
44-
netfs_sreq_trace_terminated,
45-
netfs_sreq_trace_write,
46-
netfs_sreq_trace_write_skip,
47-
netfs_sreq_trace_write_term,
48-
};
49-
50-
enum netfs_failure {
51-
netfs_fail_check_write_begin,
52-
netfs_fail_copy_to_cache,
53-
netfs_fail_read,
54-
netfs_fail_short_readpage,
55-
netfs_fail_short_write_begin,
56-
netfs_fail_prepare_write,
57-
};
58-
59-
#endif
60-
6118
#define netfs_read_traces \
6219
EM(netfs_read_trace_expanded, "EXPANDED ") \
6320
EM(netfs_read_trace_readahead, "READAHEAD") \
@@ -98,6 +55,20 @@ enum netfs_failure {
9855
EM(netfs_fail_short_write_begin, "short-write-begin") \
9956
E_(netfs_fail_prepare_write, "prep-write")
10057

58+
#ifndef __NETFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
59+
#define __NETFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
60+
61+
#undef EM
62+
#undef E_
63+
#define EM(a, b) a,
64+
#define E_(a, b) a
65+
66+
enum netfs_read_trace { netfs_read_traces } __mode(byte);
67+
enum netfs_rreq_trace { netfs_rreq_traces } __mode(byte);
68+
enum netfs_sreq_trace { netfs_sreq_traces } __mode(byte);
69+
enum netfs_failure { netfs_failures } __mode(byte);
70+
71+
#endif
10172

10273
/*
10374
* Export enum symbols via userspace.
@@ -258,6 +229,8 @@ TRACE_EVENT(netfs_failure,
258229
__entry->error)
259230
);
260231

232+
#undef EM
233+
#undef E_
261234
#endif /* _TRACE_NETFS_H */
262235

263236
/* This part must be outside protection */

0 commit comments

Comments
 (0)