Message ID | 1604325011-29427-5-git-send-email-dwysocha@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add NFS readdir tracepoints and improve performance of reading directories | expand |
Hi Dave, Thank you for the patch! Yet something to improve: [auto build test ERROR on nfs/linux-next] [also build test ERROR on v5.10-rc2 next-20201102] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Dave-Wysochanski/Add-NFS-readdir-tracepoints-and-improve-performance-of-reading-directories/20201102-215316 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next config: arm-randconfig-r036-20201102 (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/a9947d23a4cc07f24cdb02954b19e650d7bf7a85 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dave-Wysochanski/Add-NFS-readdir-tracepoints-and-improve-performance-of-reading-directories/20201102-215316 git checkout a9947d23a4cc07f24cdb02954b19e650d7bf7a85 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): In file included from fs/nfs/nfstrace.h:11, from fs/nfs/nfs2xdr.c:25: >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ | ^~~~~ include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS' 251 | __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE' 254 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE' 260 | register_trace_prio_##name(void (*probe)(data_proto), void *data,\ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE' 267 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE' 273 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ | ^~~~~ include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS' 251 | __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE' 254 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE' 260 | register_trace_prio_##name(void (*probe)(data_proto), void *data,\ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE' 267 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE' 273 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ | ^~~~~ include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS' 251 | __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE' 254 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE' 260 | register_trace_prio_##name(void (*probe)(data_proto), void *data,\ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE' 267 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE' 273 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ | ^~~~~ include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS' 251 | __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE' 254 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE' 260 | register_trace_prio_##name(void (*probe)(data_proto), void *data,\ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE' 267 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE' 273 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ | ^~~~~ include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS' 251 | __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE' 254 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE' 260 | register_trace_prio_##name(void (*probe)(data_proto), void *data,\ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE' 267 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t' 796 | const nfs_readdir_descriptor_t *desc \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE' 273 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT' 794 | DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO' 795 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT' 854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE' 235 | extern int __traceiter_##name(data_proto); \ | ^~~~~~~~~~ include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS' 413 | PARAMS(void *__data, proto), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:855:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 855 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE' 238 | static inline void trace_##name(proto) \ | ^~~~~ include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS' 411 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~ include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS' 536 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~ fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT' 843 | DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ | ^~~~~~~~~~~~ fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO' 844 | TP_PROTO( \ | ^~~~~~~~ fs/nfs/nfstrace.h:855:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT' 855 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t' 845 | const nfs_readdir_descriptor_t *desc, \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU' 210 | static inline void trace_##name##_rcuidle(proto) \ vim +/nfs_readdir_descriptor_t +796 fs/nfs/nfstrace.h 792 793 #define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(name) \ 794 DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ 795 TP_PROTO( \ > 796 const nfs_readdir_descriptor_t *desc \ 797 ), \ 798 TP_ARGS(desc)) 799 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 145393188f6a..227cddc12983 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -329,6 +329,7 @@ int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc) struct nfs_cache_array *array; int status; + trace_nfs_readdir_search_array_enter(desc); array = kmap(desc->page); if (*desc->dir_cookie == 0) @@ -342,6 +343,7 @@ int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc) desc->page_index++; } kunmap(desc->page); + trace_nfs_readdir_search_array_exit(desc, status); return status; } @@ -762,6 +764,7 @@ int readdir_search_pagecache(nfs_readdir_descriptor_t *desc) { int res; + trace_nfs_readdir_search_pagecache_enter(desc); if (desc->page_index == 0) { desc->current_index = 0; desc->prev_index = 0; @@ -770,6 +773,7 @@ int readdir_search_pagecache(nfs_readdir_descriptor_t *desc) do { res = find_and_lock_cache_page(desc); } while (res == -EAGAIN); + trace_nfs_readdir_search_pagecache_exit(desc, res); return res; } @@ -835,8 +839,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc) struct inode *inode = file_inode(desc->file); struct nfs_open_dir_context *ctx = desc->file->private_data; - dfprintk(DIRCACHE, "NFS: uncached_readdir() searching for cookie %Lu\n", - (unsigned long long)*desc->dir_cookie); + trace_nfs_uncached_readdir_enter(desc); page = alloc_page(GFP_HIGHUSER); if (!page) { @@ -859,8 +862,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc) nfs_readdir_clear_array(desc->page); cache_page_release(desc); out: - dfprintk(DIRCACHE, "NFS: %s: returns %d\n", - __func__, status); + trace_nfs_uncached_readdir_exit(desc, status); return status; } diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index 6bbe0aa221f2..e6a946b83330 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -752,6 +752,108 @@ ) ); +DECLARE_EVENT_CLASS(nfs_readdir_descriptor_event_enter, + TP_PROTO( + const nfs_readdir_descriptor_t *desc + ), + + TP_ARGS(desc), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(u64, fileid) + __field(u32, fhandle) + __field(u64, dir_cookie) + __field(u64, page_index) + __field(u64, last_cookie) + __field(u64, current_index) + __field(u64, prev_index) + ), + + TP_fast_assign( + __entry->dev = file_inode(desc->file)->i_sb->s_dev; + __entry->fileid = NFS_FILEID(file_inode(desc->file)); + __entry->fhandle = nfs_fhandle_hash(NFS_FH(file_inode(desc->file))); + __entry->dir_cookie = *desc->dir_cookie; + __entry->page_index = desc->page_index; + __entry->last_cookie = desc->last_cookie; + __entry->current_index = desc->current_index; + __entry->prev_index = desc->prev_index; + ), + + TP_printk( + "fileid=%02x:%02x:%llu fhandle=0x%08x dir_cookie=0x%08llx last_cookie=0x%08llx page_index=0x%08llx current_index=0x%08llu prev_index=0x%08llu", + MAJOR(__entry->dev), MINOR(__entry->dev), + (unsigned long long)__entry->fileid, __entry->fhandle, + __entry->dir_cookie, __entry->last_cookie, __entry->page_index, + __entry->current_index, __entry->prev_index + ) +); + +#define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(name) \ + DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \ + TP_PROTO( \ + const nfs_readdir_descriptor_t *desc \ + ), \ + TP_ARGS(desc)) + +DECLARE_EVENT_CLASS(nfs_readdir_descriptor_event_exit, + TP_PROTO( + const nfs_readdir_descriptor_t *desc, + int error + ), + + TP_ARGS(desc, error), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(u64, fileid) + __field(u32, fhandle) + __field(u64, dir_cookie) + __field(unsigned long, error) + __field(u64, page_index) + __field(u64, last_cookie) + __field(u64, current_index) + __field(u64, prev_index) + ), + + TP_fast_assign( + __entry->dev = file_inode(desc->file)->i_sb->s_dev; + __entry->fileid = NFS_FILEID(file_inode(desc->file)); + __entry->fhandle = nfs_fhandle_hash(NFS_FH(file_inode(desc->file))); + __entry->dir_cookie = *desc->dir_cookie; + __entry->error = error; + __entry->page_index = desc->page_index; + __entry->last_cookie = desc->last_cookie; + __entry->current_index = desc->current_index; + __entry->prev_index = desc->prev_index; + ), + + TP_printk( + "error=%ld fileid=%02x:%02x:%llu fhandle=0x%08x dir_cookie=0x%08llx last_cookie=0x%08llx page_index=0x%08llx current_index=0x%08llu prev_index=0x%08llu", + __entry->error, + MAJOR(__entry->dev), MINOR(__entry->dev), + (unsigned long long)__entry->fileid, __entry->fhandle, + __entry->dir_cookie, __entry->last_cookie, __entry->page_index, + __entry->current_index, __entry->prev_index + ) +); + +#define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(name) \ + DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \ + TP_PROTO( \ + const nfs_readdir_descriptor_t *desc, \ + int error \ + ), \ + TP_ARGS(desc, error)) + +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter); +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit); +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter); +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit); +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter); +DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit); + TRACE_EVENT(nfs_link_enter, TP_PROTO( const struct inode *inode,
Add more tracepoints in the NFS readdir code to trace functions which change members of nfs_readdir_descriptor_t. In the process, remove two more dfprintks inside uncached_readdir(). Signed-off-by: Dave Wysochanski <dwysocha@redhat.com> --- fs/nfs/dir.c | 10 +++--- fs/nfs/nfstrace.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 4 deletions(-)