Skip to content

Commit 2daa640

Browse files
committed
afs: Automatically generate trace tag enums
Automatically generate trace tag enums from the symbol -> string mapping tables rather than having the enums as well, thereby reducing duplicated data. Signed-off-by: David Howells <[email protected]> cc: Marc Dionne <[email protected]> cc: Jeff Layton <[email protected]> cc: [email protected] cc: [email protected]
1 parent a790c25 commit 2daa640

File tree

1 file changed

+27
-206
lines changed
  • include/trace/events

1 file changed

+27
-206
lines changed

include/trace/events/afs.h

Lines changed: 27 additions & 206 deletions
Original file line numberDiff line numberDiff line change
@@ -18,97 +18,6 @@
1818
#ifndef __AFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
1919
#define __AFS_DECLARE_TRACE_ENUMS_ONCE_ONLY
2020

21-
enum afs_call_trace {
22-
afs_call_trace_alloc,
23-
afs_call_trace_free,
24-
afs_call_trace_get,
25-
afs_call_trace_put,
26-
afs_call_trace_wake,
27-
afs_call_trace_work,
28-
};
29-
30-
enum afs_server_trace {
31-
afs_server_trace_alloc,
32-
afs_server_trace_callback,
33-
afs_server_trace_destroy,
34-
afs_server_trace_free,
35-
afs_server_trace_gc,
36-
afs_server_trace_get_by_addr,
37-
afs_server_trace_get_by_uuid,
38-
afs_server_trace_get_caps,
39-
afs_server_trace_get_install,
40-
afs_server_trace_get_new_cbi,
41-
afs_server_trace_get_probe,
42-
afs_server_trace_give_up_cb,
43-
afs_server_trace_purging,
44-
afs_server_trace_put_call,
45-
afs_server_trace_put_cbi,
46-
afs_server_trace_put_find_rsq,
47-
afs_server_trace_put_probe,
48-
afs_server_trace_put_slist,
49-
afs_server_trace_put_slist_isort,
50-
afs_server_trace_put_uuid_rsq,
51-
afs_server_trace_update,
52-
};
53-
54-
55-
enum afs_volume_trace {
56-
afs_volume_trace_alloc,
57-
afs_volume_trace_free,
58-
afs_volume_trace_get_alloc_sbi,
59-
afs_volume_trace_get_cell_insert,
60-
afs_volume_trace_get_new_op,
61-
afs_volume_trace_get_query_alias,
62-
afs_volume_trace_put_cell_dup,
63-
afs_volume_trace_put_cell_root,
64-
afs_volume_trace_put_destroy_sbi,
65-
afs_volume_trace_put_free_fc,
66-
afs_volume_trace_put_put_op,
67-
afs_volume_trace_put_query_alias,
68-
afs_volume_trace_put_validate_fc,
69-
afs_volume_trace_remove,
70-
};
71-
72-
enum afs_cell_trace {
73-
afs_cell_trace_alloc,
74-
afs_cell_trace_free,
75-
afs_cell_trace_get_queue_dns,
76-
afs_cell_trace_get_queue_manage,
77-
afs_cell_trace_get_queue_new,
78-
afs_cell_trace_get_vol,
79-
afs_cell_trace_insert,
80-
afs_cell_trace_manage,
81-
afs_cell_trace_put_candidate,
82-
afs_cell_trace_put_destroy,
83-
afs_cell_trace_put_queue_fail,
84-
afs_cell_trace_put_queue_work,
85-
afs_cell_trace_put_vol,
86-
afs_cell_trace_see_source,
87-
afs_cell_trace_see_ws,
88-
afs_cell_trace_unuse_alias,
89-
afs_cell_trace_unuse_check_alias,
90-
afs_cell_trace_unuse_delete,
91-
afs_cell_trace_unuse_fc,
92-
afs_cell_trace_unuse_lookup,
93-
afs_cell_trace_unuse_mntpt,
94-
afs_cell_trace_unuse_no_pin,
95-
afs_cell_trace_unuse_parse,
96-
afs_cell_trace_unuse_pin,
97-
afs_cell_trace_unuse_probe,
98-
afs_cell_trace_unuse_sbi,
99-
afs_cell_trace_unuse_ws,
100-
afs_cell_trace_use_alias,
101-
afs_cell_trace_use_check_alias,
102-
afs_cell_trace_use_fc,
103-
afs_cell_trace_use_fc_alias,
104-
afs_cell_trace_use_lookup,
105-
afs_cell_trace_use_mntpt,
106-
afs_cell_trace_use_pin,
107-
afs_cell_trace_use_probe,
108-
afs_cell_trace_use_sbi,
109-
afs_cell_trace_wait,
110-
};
111-
11221
enum afs_fs_operation {
11322
afs_FS_FetchData = 130, /* AFS Fetch file data */
11423
afs_FS_FetchACL = 131, /* AFS Fetch file ACL */
@@ -202,121 +111,6 @@ enum yfs_cm_operation {
202111
yfs_CB_CallBack = 64204,
203112
};
204113

205-
enum afs_edit_dir_op {
206-
afs_edit_dir_create,
207-
afs_edit_dir_create_error,
208-
afs_edit_dir_create_inval,
209-
afs_edit_dir_create_nospc,
210-
afs_edit_dir_delete,
211-
afs_edit_dir_delete_error,
212-
afs_edit_dir_delete_inval,
213-
afs_edit_dir_delete_noent,
214-
};
215-
216-
enum afs_edit_dir_reason {
217-
afs_edit_dir_for_create,
218-
afs_edit_dir_for_link,
219-
afs_edit_dir_for_mkdir,
220-
afs_edit_dir_for_rename_0,
221-
afs_edit_dir_for_rename_1,
222-
afs_edit_dir_for_rename_2,
223-
afs_edit_dir_for_rmdir,
224-
afs_edit_dir_for_silly_0,
225-
afs_edit_dir_for_silly_1,
226-
afs_edit_dir_for_symlink,
227-
afs_edit_dir_for_unlink,
228-
};
229-
230-
enum afs_eproto_cause {
231-
afs_eproto_bad_status,
232-
afs_eproto_cb_count,
233-
afs_eproto_cb_fid_count,
234-
afs_eproto_cellname_len,
235-
afs_eproto_file_type,
236-
afs_eproto_ibulkst_cb_count,
237-
afs_eproto_ibulkst_count,
238-
afs_eproto_motd_len,
239-
afs_eproto_offline_msg_len,
240-
afs_eproto_volname_len,
241-
afs_eproto_yvl_fsendpt4_len,
242-
afs_eproto_yvl_fsendpt6_len,
243-
afs_eproto_yvl_fsendpt_num,
244-
afs_eproto_yvl_fsendpt_type,
245-
afs_eproto_yvl_vlendpt4_len,
246-
afs_eproto_yvl_vlendpt6_len,
247-
afs_eproto_yvl_vlendpt_type,
248-
};
249-
250-
enum afs_io_error {
251-
afs_io_error_cm_reply,
252-
afs_io_error_extract,
253-
afs_io_error_fs_probe_fail,
254-
afs_io_error_vl_lookup_fail,
255-
afs_io_error_vl_probe_fail,
256-
};
257-
258-
enum afs_file_error {
259-
afs_file_error_dir_bad_magic,
260-
afs_file_error_dir_big,
261-
afs_file_error_dir_missing_page,
262-
afs_file_error_dir_name_too_long,
263-
afs_file_error_dir_over_end,
264-
afs_file_error_dir_small,
265-
afs_file_error_dir_unmarked_ext,
266-
afs_file_error_mntpt,
267-
afs_file_error_writeback_fail,
268-
};
269-
270-
enum afs_flock_event {
271-
afs_flock_acquired,
272-
afs_flock_callback_break,
273-
afs_flock_defer_unlock,
274-
afs_flock_extend_fail,
275-
afs_flock_fail_other,
276-
afs_flock_fail_perm,
277-
afs_flock_no_lockers,
278-
afs_flock_release_fail,
279-
afs_flock_silly_delete,
280-
afs_flock_timestamp,
281-
afs_flock_try_to_lock,
282-
afs_flock_vfs_lock,
283-
afs_flock_vfs_locking,
284-
afs_flock_waited,
285-
afs_flock_waiting,
286-
afs_flock_work_extending,
287-
afs_flock_work_retry,
288-
afs_flock_work_unlocking,
289-
afs_flock_would_block,
290-
};
291-
292-
enum afs_flock_operation {
293-
afs_flock_op_copy_lock,
294-
afs_flock_op_flock,
295-
afs_flock_op_grant,
296-
afs_flock_op_lock,
297-
afs_flock_op_release_lock,
298-
afs_flock_op_return_ok,
299-
afs_flock_op_return_eagain,
300-
afs_flock_op_return_edeadlk,
301-
afs_flock_op_return_error,
302-
afs_flock_op_set_lock,
303-
afs_flock_op_unlock,
304-
afs_flock_op_wake,
305-
};
306-
307-
enum afs_cb_break_reason {
308-
afs_cb_break_no_break,
309-
afs_cb_break_no_promise,
310-
afs_cb_break_for_callback,
311-
afs_cb_break_for_deleted,
312-
afs_cb_break_for_lapsed,
313-
afs_cb_break_for_s_reinit,
314-
afs_cb_break_for_unlink,
315-
afs_cb_break_for_v_break,
316-
afs_cb_break_for_volume_callback,
317-
afs_cb_break_for_zap,
318-
};
319-
320114
#endif /* end __AFS_DECLARE_TRACE_ENUMS_ONCE_ONLY */
321115

322116
/*
@@ -391,6 +185,7 @@ enum afs_cb_break_reason {
391185
EM(afs_cell_trace_unuse_fc, "UNU fc ") \
392186
EM(afs_cell_trace_unuse_lookup, "UNU lookup") \
393187
EM(afs_cell_trace_unuse_mntpt, "UNU mntpt ") \
188+
EM(afs_cell_trace_unuse_no_pin, "UNU no-pin") \
394189
EM(afs_cell_trace_unuse_parse, "UNU parse ") \
395190
EM(afs_cell_trace_unuse_pin, "UNU pin ") \
396191
EM(afs_cell_trace_unuse_probe, "UNU probe ") \
@@ -614,6 +409,32 @@ enum afs_cb_break_reason {
614409
EM(afs_cb_break_for_volume_callback, "break-v-cb") \
615410
E_(afs_cb_break_for_zap, "break-zap")
616411

412+
/*
413+
* Generate enums for tracing information.
414+
*/
415+
#ifndef __AFS_GENERATE_TRACE_ENUMS_ONCE_ONLY
416+
#define __AFS_GENERATE_TRACE_ENUMS_ONCE_ONLY
417+
418+
#undef EM
419+
#undef E_
420+
#define EM(a, b) a,
421+
#define E_(a, b) a
422+
423+
enum afs_call_trace { afs_call_traces } __mode(byte);
424+
enum afs_cb_break_reason { afs_cb_break_reasons } __mode(byte);
425+
enum afs_cell_trace { afs_cell_traces } __mode(byte);
426+
enum afs_edit_dir_op { afs_edit_dir_ops } __mode(byte);
427+
enum afs_edit_dir_reason { afs_edit_dir_reasons } __mode(byte);
428+
enum afs_eproto_cause { afs_eproto_causes } __mode(byte);
429+
enum afs_file_error { afs_file_errors } __mode(byte);
430+
enum afs_flock_event { afs_flock_events } __mode(byte);
431+
enum afs_flock_operation { afs_flock_operations } __mode(byte);
432+
enum afs_io_error { afs_io_errors } __mode(byte);
433+
enum afs_server_trace { afs_server_traces } __mode(byte);
434+
enum afs_volume_trace { afs_volume_traces } __mode(byte);
435+
436+
#endif /* end __AFS_GENERATE_TRACE_ENUMS_ONCE_ONLY */
437+
617438
/*
618439
* Export enum symbols via userspace.
619440
*/

0 commit comments

Comments
 (0)