2024-02-23 14:18:29

by Steven Rostedt

[permalink] [raw]
Subject: [for-next][PATCH 06/13] NFSD: Fix nfsd_clid_class use of __string_len() macro

From: "Steven Rostedt (Google)" <[email protected]>

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/[email protected]

Cc: Jeff Layton <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: Olga Kornievskaia <[email protected]>
Cc: Dai Ngo <[email protected]>
Cc: Tom Talpey <[email protected]>
Fixes: d27b74a8675ca ("NFSD: Use new __string_len C macros for nfsd_clid_class")
Acked-by: Chuck Lever <[email protected]>
Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
fs/nfsd/trace.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h
index d1e8cf079b0f..2cd57033791f 100644
--- a/fs/nfsd/trace.h
+++ b/fs/nfsd/trace.h
@@ -843,7 +843,7 @@ DECLARE_EVENT_CLASS(nfsd_clid_class,
__array(unsigned char, addr, sizeof(struct sockaddr_in6))
__field(unsigned long, flavor)
__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(
__entry->cl_boot = clp->cl_clientid.cl_boot;
--
2.43.0




2024-02-23 14:36:25

by Jeffrey Layton

[permalink] [raw]
Subject: Re: [for-next][PATCH 06/13] NFSD: Fix nfsd_clid_class use of __string_len() macro

On Fri, 2024-02-23 at 09:18 -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <[email protected]>
>
> 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/[email protected]
>
> Cc: Jeff Layton <[email protected]>
> Cc: Neil Brown <[email protected]>
> Cc: Olga Kornievskaia <[email protected]>
> Cc: Dai Ngo <[email protected]>
> Cc: Tom Talpey <[email protected]>
> Fixes: d27b74a8675ca ("NFSD: Use new __string_len C macros for nfsd_clid_class")
> Acked-by: Chuck Lever <[email protected]>
> Signed-off-by: Steven Rostedt (Google) <[email protected]>
> ---
> fs/nfsd/trace.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h
> index d1e8cf079b0f..2cd57033791f 100644
> --- a/fs/nfsd/trace.h
> +++ b/fs/nfsd/trace.h
> @@ -843,7 +843,7 @@ DECLARE_EVENT_CLASS(nfsd_clid_class,
> __array(unsigned char, addr, sizeof(struct sockaddr_in6))
> __field(unsigned long, flavor)
> __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(
> __entry->cl_boot = clp->cl_clientid.cl_boot;

Acked-by: Jeff Layton <[email protected]>

2024-02-23 15:13:12

by Steven Rostedt

[permalink] [raw]
Subject: Re: [for-next][PATCH 06/13] NFSD: Fix nfsd_clid_class use of __string_len() macro

On Fri, 23 Feb 2024 09:36:14 -0500
Jeff Layton <[email protected]> wrote:

> On Fri, 2024-02-23 at 09:18 -0500, Steven Rostedt wrote:
> > From: "Steven Rostedt (Google)" <[email protected]>
> >
> > 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/[email protected]
> >

>
> Acked-by: Jeff Layton <[email protected]>

Thanks!

-- Steve