[PATCH] afs: fix tracepoint string placement with built-in AFS
David Howells
dhowells at redhat.com
Tue Jun 15 01:49:47 PDT 2021
David Howells <dhowells at redhat.com> wrote:
> Alexey Dobriyan <adobriyan at gmail.com> wrote:
>
> > - char afs_SRXCB##name##_name[] __tracepoint_string = \
> > - "CB." #name
>
> I seem to remember that when I did this, it couldn't be a const string for
> some reason, though I don't remember exactly why now if that was indeed the
> case.
>
> I wonder if it's better just to turn it into an enum-string table in
> linux/events/afs.h.
Hmmm... It's not necessarily quite that simple - at least if I want to use
the operation ID as the key to the table - as there are at least three
separate services involved and they can have overlapping op IDs.
Is it possible to switch the table passed to __print_symbolic()? For example,
in the afs_call tracepoint, could I do:
TP_printk("c=%08x %s u=%d o=%d sp=%pSR",
__entry->call,
__print_symbolic(__entry->op,
__entry->is_vl ? afs_vl_call_traces :
__entry->is_yfs ? afs_yfs_call_traces :
afs_fs_call_traces),
__entry->usage,
__entry->outstanding,
__entry->where)
David
More information about the linux-afs
mailing list