Message ID | 160519326660.1658.18351054451047271453.stgit@klimt.1015granger.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | NFSD tracepoint clean-ups for v5.11 | expand |
On 12/11/2020 3:01 pm, Chuck Lever wrote: > Display all currently possible NFSD_MAY permission flags. > > Move and rename show_nf_may with a more generic name because the > NFSD_MAY permission flags are used in other places besides the file > cache. > > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > fs/nfsd/trace.h | 40 ++++++++++++++++++++++++++-------------- > 1 file changed, 26 insertions(+), 14 deletions(-) > > diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h > index 99bf07800cd0..532b66a4b7f1 100644 > --- a/fs/nfsd/trace.h > +++ b/fs/nfsd/trace.h > @@ -12,6 +12,22 @@ > #include "export.h" > #include "nfsfh.h" > > +#define show_nfsd_may_flags(x) \ > + __print_flags(x, "|", \ > + { NFSD_MAY_EXEC, "EXEC" }, \ > + { NFSD_MAY_WRITE, "WRITE" }, \ > + { NFSD_MAY_READ, "READ" }, \ > + { NFSD_MAY_SATTR, "SATTR" }, \ > + { NFSD_MAY_TRUNC, "TRUNC" }, \ > + { NFSD_MAY_LOCK, "LOCK" }, \ > + { NFSD_MAY_OWNER_OVERRIDE, "OWNER_OVERRIDE" }, \ > + { NFSD_MAY_LOCAL_ACCESS, "LOCAL_ACCESS" }, \ > + { NFSD_MAY_BYPASS_GSS_ON_ROOT, "BYPASS_GSS_ON_ROOT" }, \ > + { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAD_LEASE" }, \ typo :) > + { NFSD_MAY_BYPASS_GSS, "BYPASS_GSS" }, \ > + { NFSD_MAY_READ_IF_EXEC, "READ_IF_EXEC" }, \ > + { NFSD_MAY_64BIT_COOKIE, "64BIT_COOKIE" }) > + > TRACE_EVENT(nfsd_compound, > TP_PROTO(const struct svc_rqst *rqst, > u32 args_opcnt), > @@ -421,6 +437,9 @@ TRACE_EVENT(nfsd_clid_inuse_err, > __entry->cl_boot, __entry->cl_id) > ) > > +/* > + * from fs/nfsd/filecache.h > + */ > TRACE_DEFINE_ENUM(NFSD_FILE_HASHED); > TRACE_DEFINE_ENUM(NFSD_FILE_PENDING); > TRACE_DEFINE_ENUM(NFSD_FILE_BREAK_READ); > @@ -435,13 +454,6 @@ TRACE_DEFINE_ENUM(NFSD_FILE_REFERENCED); > { 1 << NFSD_FILE_BREAK_WRITE, "BREAK_WRITE" }, \ > { 1 << NFSD_FILE_REFERENCED, "REFERENCED"}) > > -/* FIXME: This should probably be fleshed out in the future. */ > -#define show_nf_may(val) \ > - __print_flags(val, "|", \ > - { NFSD_MAY_READ, "READ" }, \ > - { NFSD_MAY_WRITE, "WRITE" }, \ > - { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAK_LEASE" }) > - > DECLARE_EVENT_CLASS(nfsd_file_class, > TP_PROTO(struct nfsd_file *nf), > TP_ARGS(nf), > @@ -466,7 +478,7 @@ DECLARE_EVENT_CLASS(nfsd_file_class, > __entry->nf_inode, > __entry->nf_ref, > show_nf_flags(__entry->nf_flags), > - show_nf_may(__entry->nf_may), > + show_nfsd_may_flags(__entry->nf_may), > __entry->nf_file) > ) > > @@ -492,10 +504,10 @@ TRACE_EVENT(nfsd_file_acquire, > __field(u32, xid) > __field(unsigned int, hash) > __field(void *, inode) > - __field(unsigned int, may_flags) > + __field(unsigned long, may_flags) > __field(int, nf_ref) > __field(unsigned long, nf_flags) > - __field(unsigned char, nf_may) > + __field(unsigned long, nf_may) > __field(struct file *, nf_file) > __field(u32, status) > ), > @@ -514,10 +526,10 @@ TRACE_EVENT(nfsd_file_acquire, > > TP_printk("xid=0x%x hash=0x%x inode=0x%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=0x%p status=%u", > __entry->xid, __entry->hash, __entry->inode, > - show_nf_may(__entry->may_flags), __entry->nf_ref, > - show_nf_flags(__entry->nf_flags), > - show_nf_may(__entry->nf_may), __entry->nf_file, > - __entry->status) > + show_nfsd_may_flags(__entry->may_flags), > + __entry->nf_ref, show_nf_flags(__entry->nf_flags), > + show_nfsd_may_flags(__entry->nf_may), > + __entry->nf_file, __entry->status) > ); > > DECLARE_EVENT_CLASS(nfsd_file_search_class, > >
> On Nov 12, 2020, at 2:45 PM, Calum Mackay <calum.mackay@oracle.com> wrote: > > On 12/11/2020 3:01 pm, Chuck Lever wrote: >> Display all currently possible NFSD_MAY permission flags. >> Move and rename show_nf_may with a more generic name because the >> NFSD_MAY permission flags are used in other places besides the file >> cache. >> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >> --- >> fs/nfsd/trace.h | 40 ++++++++++++++++++++++++++-------------- >> 1 file changed, 26 insertions(+), 14 deletions(-) >> diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h >> index 99bf07800cd0..532b66a4b7f1 100644 >> --- a/fs/nfsd/trace.h >> +++ b/fs/nfsd/trace.h >> @@ -12,6 +12,22 @@ >> #include "export.h" >> #include "nfsfh.h" >> +#define show_nfsd_may_flags(x) \ >> + __print_flags(x, "|", \ >> + { NFSD_MAY_EXEC, "EXEC" }, \ >> + { NFSD_MAY_WRITE, "WRITE" }, \ >> + { NFSD_MAY_READ, "READ" }, \ >> + { NFSD_MAY_SATTR, "SATTR" }, \ >> + { NFSD_MAY_TRUNC, "TRUNC" }, \ >> + { NFSD_MAY_LOCK, "LOCK" }, \ >> + { NFSD_MAY_OWNER_OVERRIDE, "OWNER_OVERRIDE" }, \ >> + { NFSD_MAY_LOCAL_ACCESS, "LOCAL_ACCESS" }, \ >> + { NFSD_MAY_BYPASS_GSS_ON_ROOT, "BYPASS_GSS_ON_ROOT" }, \ >> + { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAD_LEASE" }, \ > > typo :) Amusing! Fixed. >> + { NFSD_MAY_BYPASS_GSS, "BYPASS_GSS" }, \ >> + { NFSD_MAY_READ_IF_EXEC, "READ_IF_EXEC" }, \ >> + { NFSD_MAY_64BIT_COOKIE, "64BIT_COOKIE" }) >> + >> TRACE_EVENT(nfsd_compound, >> TP_PROTO(const struct svc_rqst *rqst, >> u32 args_opcnt), >> @@ -421,6 +437,9 @@ TRACE_EVENT(nfsd_clid_inuse_err, >> __entry->cl_boot, __entry->cl_id) >> ) >> +/* >> + * from fs/nfsd/filecache.h >> + */ >> TRACE_DEFINE_ENUM(NFSD_FILE_HASHED); >> TRACE_DEFINE_ENUM(NFSD_FILE_PENDING); >> TRACE_DEFINE_ENUM(NFSD_FILE_BREAK_READ); >> @@ -435,13 +454,6 @@ TRACE_DEFINE_ENUM(NFSD_FILE_REFERENCED); >> { 1 << NFSD_FILE_BREAK_WRITE, "BREAK_WRITE" }, \ >> { 1 << NFSD_FILE_REFERENCED, "REFERENCED"}) >> -/* FIXME: This should probably be fleshed out in the future. */ >> -#define show_nf_may(val) \ >> - __print_flags(val, "|", \ >> - { NFSD_MAY_READ, "READ" }, \ >> - { NFSD_MAY_WRITE, "WRITE" }, \ >> - { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAK_LEASE" }) >> - >> DECLARE_EVENT_CLASS(nfsd_file_class, >> TP_PROTO(struct nfsd_file *nf), >> TP_ARGS(nf), >> @@ -466,7 +478,7 @@ DECLARE_EVENT_CLASS(nfsd_file_class, >> __entry->nf_inode, >> __entry->nf_ref, >> show_nf_flags(__entry->nf_flags), >> - show_nf_may(__entry->nf_may), >> + show_nfsd_may_flags(__entry->nf_may), >> __entry->nf_file) >> ) >> @@ -492,10 +504,10 @@ TRACE_EVENT(nfsd_file_acquire, >> __field(u32, xid) >> __field(unsigned int, hash) >> __field(void *, inode) >> - __field(unsigned int, may_flags) >> + __field(unsigned long, may_flags) >> __field(int, nf_ref) >> __field(unsigned long, nf_flags) >> - __field(unsigned char, nf_may) >> + __field(unsigned long, nf_may) >> __field(struct file *, nf_file) >> __field(u32, status) >> ), >> @@ -514,10 +526,10 @@ TRACE_EVENT(nfsd_file_acquire, >> TP_printk("xid=0x%x hash=0x%x inode=0x%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=0x%p status=%u", >> __entry->xid, __entry->hash, __entry->inode, >> - show_nf_may(__entry->may_flags), __entry->nf_ref, >> - show_nf_flags(__entry->nf_flags), >> - show_nf_may(__entry->nf_may), __entry->nf_file, >> - __entry->status) >> + show_nfsd_may_flags(__entry->may_flags), >> + __entry->nf_ref, show_nf_flags(__entry->nf_flags), >> + show_nfsd_may_flags(__entry->nf_may), >> + __entry->nf_file, __entry->status) >> ); >> DECLARE_EVENT_CLASS(nfsd_file_search_class, > > -- > Calum Mackay > Linux Kernel Engineering > Oracle Linux and Virtualisation -- Chuck Lever
diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 99bf07800cd0..532b66a4b7f1 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -12,6 +12,22 @@ #include "export.h" #include "nfsfh.h" +#define show_nfsd_may_flags(x) \ + __print_flags(x, "|", \ + { NFSD_MAY_EXEC, "EXEC" }, \ + { NFSD_MAY_WRITE, "WRITE" }, \ + { NFSD_MAY_READ, "READ" }, \ + { NFSD_MAY_SATTR, "SATTR" }, \ + { NFSD_MAY_TRUNC, "TRUNC" }, \ + { NFSD_MAY_LOCK, "LOCK" }, \ + { NFSD_MAY_OWNER_OVERRIDE, "OWNER_OVERRIDE" }, \ + { NFSD_MAY_LOCAL_ACCESS, "LOCAL_ACCESS" }, \ + { NFSD_MAY_BYPASS_GSS_ON_ROOT, "BYPASS_GSS_ON_ROOT" }, \ + { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAD_LEASE" }, \ + { NFSD_MAY_BYPASS_GSS, "BYPASS_GSS" }, \ + { NFSD_MAY_READ_IF_EXEC, "READ_IF_EXEC" }, \ + { NFSD_MAY_64BIT_COOKIE, "64BIT_COOKIE" }) + TRACE_EVENT(nfsd_compound, TP_PROTO(const struct svc_rqst *rqst, u32 args_opcnt), @@ -421,6 +437,9 @@ TRACE_EVENT(nfsd_clid_inuse_err, __entry->cl_boot, __entry->cl_id) ) +/* + * from fs/nfsd/filecache.h + */ TRACE_DEFINE_ENUM(NFSD_FILE_HASHED); TRACE_DEFINE_ENUM(NFSD_FILE_PENDING); TRACE_DEFINE_ENUM(NFSD_FILE_BREAK_READ); @@ -435,13 +454,6 @@ TRACE_DEFINE_ENUM(NFSD_FILE_REFERENCED); { 1 << NFSD_FILE_BREAK_WRITE, "BREAK_WRITE" }, \ { 1 << NFSD_FILE_REFERENCED, "REFERENCED"}) -/* FIXME: This should probably be fleshed out in the future. */ -#define show_nf_may(val) \ - __print_flags(val, "|", \ - { NFSD_MAY_READ, "READ" }, \ - { NFSD_MAY_WRITE, "WRITE" }, \ - { NFSD_MAY_NOT_BREAK_LEASE, "NOT_BREAK_LEASE" }) - DECLARE_EVENT_CLASS(nfsd_file_class, TP_PROTO(struct nfsd_file *nf), TP_ARGS(nf), @@ -466,7 +478,7 @@ DECLARE_EVENT_CLASS(nfsd_file_class, __entry->nf_inode, __entry->nf_ref, show_nf_flags(__entry->nf_flags), - show_nf_may(__entry->nf_may), + show_nfsd_may_flags(__entry->nf_may), __entry->nf_file) ) @@ -492,10 +504,10 @@ TRACE_EVENT(nfsd_file_acquire, __field(u32, xid) __field(unsigned int, hash) __field(void *, inode) - __field(unsigned int, may_flags) + __field(unsigned long, may_flags) __field(int, nf_ref) __field(unsigned long, nf_flags) - __field(unsigned char, nf_may) + __field(unsigned long, nf_may) __field(struct file *, nf_file) __field(u32, status) ), @@ -514,10 +526,10 @@ TRACE_EVENT(nfsd_file_acquire, TP_printk("xid=0x%x hash=0x%x inode=0x%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=0x%p status=%u", __entry->xid, __entry->hash, __entry->inode, - show_nf_may(__entry->may_flags), __entry->nf_ref, - show_nf_flags(__entry->nf_flags), - show_nf_may(__entry->nf_may), __entry->nf_file, - __entry->status) + show_nfsd_may_flags(__entry->may_flags), + __entry->nf_ref, show_nf_flags(__entry->nf_flags), + show_nfsd_may_flags(__entry->nf_may), + __entry->nf_file, __entry->status) ); DECLARE_EVENT_CLASS(nfsd_file_search_class,
Display all currently possible NFSD_MAY permission flags. Move and rename show_nf_may with a more generic name because the NFSD_MAY permission flags are used in other places besides the file cache. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- fs/nfsd/trace.h | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-)