Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06e19024 authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust
Browse files

nfs: Use proper enum definitions for nfs_show_stable



Commit 8224b273 ("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: 8224b273 ("NFS: Add static NFS I/O tracepoints")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent 7ff4cff6
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -796,15 +796,15 @@ TRACE_EVENT(nfs_readpage_done,
		)
);

/*
 * XXX: I tried using NFS_UNSTABLE and friends in this table, but they
 * all evaluate to 0 for some reason, even if I include linux/nfs.h.
 */
TRACE_DEFINE_ENUM(NFS_UNSTABLE);
TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
TRACE_DEFINE_ENUM(NFS_FILE_SYNC);

#define nfs_show_stable(stable) \
	__print_symbolic(stable, \
			{ 0, " (UNSTABLE)" }, \
			{ 1, " (DATA_SYNC)" }, \
			{ 2, " (FILE_SYNC)" })
			{ NFS_UNSTABLE, "UNSTABLE" }, \
			{ NFS_DATA_SYNC, "DATA_SYNC" }, \
			{ NFS_FILE_SYNC, "FILE_SYNC" })

TRACE_EVENT(nfs_initiate_write,
		TP_PROTO(
@@ -837,12 +837,12 @@ TRACE_EVENT(nfs_initiate_write,

		TP_printk(
			"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),
			(unsigned long long)__entry->fileid,
			__entry->fhandle,
			__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(
			"fileid=%02x:%02x:%llu fhandle=0x%08x "
			"offset=%lld status=%d stable=%d%s "
			"offset=%lld status=%d stable=%s "
			"verifier 0x%016llx",
			MAJOR(__entry->dev), MINOR(__entry->dev),
			(unsigned long long)__entry->fileid,
			__entry->fhandle,
			__entry->offset, __entry->status,
			__entry->stable, nfs_show_stable(__entry->stable),
			nfs_show_stable(__entry->stable),
			__entry->verifier
		)
);