> On Jan 4, 2018, at 2:36 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > On Thu, 4 Jan 2018 14:10:21 -0500 > Chuck Lever <chuck.lever@xxxxxxxxxx> wrote: > >>>> #define nfs_show_stable(stable) \ >>>> __print_symbolic(stable, \ >>>> { NFS_UNSTABLE, " (UNSTABLE)" }, \ >>>> { NFS_DATA_SYNC, " (DATA_SYNC)" }, \ >>>> { NFS_FILE_SYNC, " (FILE_SYNC)" }) >>>> >>>> When the field contains 0 it displays "(UNSTABLE)", and when the field >>>> contains a non-zero value the displayed symbol is blank. >>> nfs_initiate_write, >>> Can you show my what is in > > Are you sure that it isn't another number there? Yes. >>> /sys/kernel/debug/tracing/events/nfs/nfs_initiate_write/format >> >> This is with current v4.15-rc6 code base: >> >> name: nfs_initiate_write >> ID: 1818 >> format: >> field:unsigned short common_type; offset:0; size:2; signed:0; >> field:unsigned char common_flags; offset:2; size:1; signed:0; >> field:unsigned char common_preempt_count; offset:3; size:1; signed:0; >> field:int common_pid; offset:4; size:4; signed:1; >> >> field:loff_t offset; offset:8; size:8; signed:1; >> field:unsigned long count; offset:16; size:8; signed:0; >> field:enum nfs3_stable_how stable; offset:24; size:4; signed:1; >> field:dev_t dev; offset:28; size:4; signed:0; >> field:u32 fhandle; offset:32; size:4; signed:0; >> field:u64 fileid; offset:40; size:8; signed:0; >> >> print fmt: "fileid=%02x:%02x:%llu fhandle=0x%08x offset=%lld count=%lu stable=%d%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->fileid, REC->fhandle, REC->offset, REC->count, REC->stable, __print_symbolic(REC->stable, { 0, " (UNSTABLE)" }, { 1, " (DATA_SYNC)" }, { 2, " (FILE_SYNC)" }) > > This looks like it should work fine. This does work fine. The source code avoids using TRACE_DEFINE_ENUM. Do you want me to wire up the "proper" way to implement nfs_show_stable and we can experiment on that? > Can you try this: > > trace-cmd record -e nfs_initiate_write > > do stuff to trigger the event, then hit Ctrl^C > > See if "trace-cmd report" shows it. If not do: > > trace-cmd report -R > > Which will suppress the translation of the output and show you the raw > values. That way, you will see what is in the stable field. -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html