nfs: Use proper enum definitions for nfs_show_stable

Commit 8224b2734a ("NFS: Add static NFS I/O tracepoints") had a
hack to work around some odd behavior observed with
__print_symbolic. I couldn't ever get it to display NFS_FILE_SYNC
when using TRACE_DEFINE_ENUM macros to set up the enum values.

I tracked down the actual bug that forced me to add the workaround.
That issue will be addressed soon, so replace the hack with a proper
implementation.

Fixes: 8224b2734a ("NFS: Add static NFS I/O tracepoints")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Chuck Lever 2018-01-18 14:55:01 -05:00 committed by Trond Myklebust
parent 7ff4cff637
commit 06e1902456

View File

@ -796,15 +796,15 @@ TRACE_EVENT(nfs_readpage_done,
) )
); );
/* TRACE_DEFINE_ENUM(NFS_UNSTABLE);
* XXX: I tried using NFS_UNSTABLE and friends in this table, but they TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
* all evaluate to 0 for some reason, even if I include linux/nfs.h. TRACE_DEFINE_ENUM(NFS_FILE_SYNC);
*/
#define nfs_show_stable(stable) \ #define nfs_show_stable(stable) \
__print_symbolic(stable, \ __print_symbolic(stable, \
{ 0, " (UNSTABLE)" }, \ { NFS_UNSTABLE, "UNSTABLE" }, \
{ 1, " (DATA_SYNC)" }, \ { NFS_DATA_SYNC, "DATA_SYNC" }, \
{ 2, " (FILE_SYNC)" }) { NFS_FILE_SYNC, "FILE_SYNC" })
TRACE_EVENT(nfs_initiate_write, TRACE_EVENT(nfs_initiate_write,
TP_PROTO( TP_PROTO(
@ -837,12 +837,12 @@ TRACE_EVENT(nfs_initiate_write,
TP_printk( TP_printk(
"fileid=%02x:%02x:%llu fhandle=0x%08x " "fileid=%02x:%02x:%llu fhandle=0x%08x "
"offset=%lld count=%lu stable=%d%s", "offset=%lld count=%lu stable=%s",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->fileid, (unsigned long long)__entry->fileid,
__entry->fhandle, __entry->fhandle,
__entry->offset, __entry->count, __entry->offset, __entry->count,
__entry->stable, nfs_show_stable(__entry->stable) nfs_show_stable(__entry->stable)
) )
); );
@ -881,13 +881,13 @@ TRACE_EVENT(nfs_writeback_done,
TP_printk( TP_printk(
"fileid=%02x:%02x:%llu fhandle=0x%08x " "fileid=%02x:%02x:%llu fhandle=0x%08x "
"offset=%lld status=%d stable=%d%s " "offset=%lld status=%d stable=%s "
"verifier 0x%016llx", "verifier 0x%016llx",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->fileid, (unsigned long long)__entry->fileid,
__entry->fhandle, __entry->fhandle,
__entry->offset, __entry->status, __entry->offset, __entry->status,
__entry->stable, nfs_show_stable(__entry->stable), nfs_show_stable(__entry->stable),
__entry->verifier __entry->verifier
) )
); );