NFSD: Fix nfsd_clid_class use of __string_len() macro

I'm working on restructuring the __string* macros so that it doesn't need
to recalculate the string twice. That is, it will save it off when
processing __string() and the __assign_str() will not need to do the work
again as it currently does.

Currently __string_len(item, src, len) doesn't actually use "src", but my
changes will require src to be correct as that is where the __assign_str()
will get its value from.

The event class nfsd_clid_class has:

  __string_len(name, name, clp->cl_name.len)

But the second "name" does not exist and causes my changes to fail to
build. That second parameter should be: clp->cl_name.data.

Link: https://lore.kernel.org/linux-trace-kernel/20240222122828.3d8d213c@gandalf.local.home

Cc: Neil Brown <neilb@suse.de>
Cc: Olga Kornievskaia <kolga@netapp.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: stable@vger.kernel.org
Fixes: d27b74a8 ("NFSD: Use new __string_len C macros for nfsd_clid_class")
Acked-by: default avatarChuck Lever <chuck.lever@oracle.com>
Acked-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
parent ed896837
...@@ -896,7 +896,7 @@ DECLARE_EVENT_CLASS(nfsd_clid_class, ...@@ -896,7 +896,7 @@ DECLARE_EVENT_CLASS(nfsd_clid_class,
__array(unsigned char, addr, sizeof(struct sockaddr_in6)) __array(unsigned char, addr, sizeof(struct sockaddr_in6))
__field(unsigned long, flavor) __field(unsigned long, flavor)
__array(unsigned char, verifier, NFS4_VERIFIER_SIZE) __array(unsigned char, verifier, NFS4_VERIFIER_SIZE)
__string_len(name, name, clp->cl_name.len) __string_len(name, clp->cl_name.data, clp->cl_name.len)
), ),
TP_fast_assign( TP_fast_assign(
__entry->cl_boot = clp->cl_clientid.cl_boot; __entry->cl_boot = clp->cl_clientid.cl_boot;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment