Re: [RFCv2 8/8] ext2: Add direct-io trace points

kernel test robot
2023-04-11T12:45:12Z

kernel test robot noticed the following build errors:

[auto build test ERROR on tytso-ext4/dev]
[also build test ERROR on xfs-linux/for-next jack-fs/for_next linus/master v6.3-rc6 next-20230411]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Ritesh-Harjani-IBM/ext2-dax-Fix-ext2_setsize-when-len-is-page-aligned/20230411-132421
base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
patch link: https://lore.kernel.org/r/f9825fab612761bee205046ce6e6e4caf25642ee.1681188927.git.ritesh.list%40gmail.com
patch subject: [RFCv2 8/8] ext2: Add direct-io trace points
config: arm-randconfig-r024-20230409 (https://download.01.org/0day-ci/archive/20230411/202304112001.80k5FIhj-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 2c57868e2e877f73c339796c3374ae660bb77f0d)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/4fff7c561c76e8ee730b2b5ec288aeeb65ca449d
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Ritesh-Harjani-IBM/ext2-dax-Fix-ext2_setsize-when-len-is-page-aligned/20230411-132421
git checkout 4fff7c561c76e8ee730b2b5ec288aeeb65ca449d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304112001.80k5FIhj-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

In file included from fs/ext2/trace.c:5:
In file included from fs/ext2/trace.h:61:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:237:
>> fs/ext2/trace.h:39:5: warning: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
__entry->count,
^~~~~~~~~~~~~~~
include/trace/stages/stage3_trace_output.h:6:17: note: expanded from macro '__entry'
#define __entry field
^
include/trace/stages/stage3_trace_output.h:9:43: note: expanded from macro 'TP_printk'
#define TP_printk(fmt, args...) fmt "\n", args
~~~ ^
include/trace/trace_events.h:203:27: note: expanded from macro 'DECLARE_EVENT_CLASS'
trace_event_printf(iter, print); \
^~~~~
In file included from fs/ext2/trace.c:5:
In file included from fs/ext2/trace.h:61:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:419:
>> fs/ext2/trace.h:29:27: error: call to undeclared function 'iov_iter_count'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
__entry->count = iter ? iov_iter_count(iter) : ret;
^
In file included from fs/ext2/trace.c:5:
In file included from fs/ext2/trace.h:61:
In file included from include/trace/define_trace.h:103:
In file included from include/trace/perf.h:75:
>> fs/ext2/trace.h:29:27: error: call to undeclared function 'iov_iter_count'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
__entry->count = iter ? iov_iter_count(iter) : ret;
^
1 warning and 2 errors generated.

vim +/iov_iter_count +29 fs/ext2/trace.h

10
11 DECLARE_EVENT_CLASS(ext2_dio_class,
12 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, int ret),
13 TP_ARGS(iocb, iter, ret),
14 TP_STRUCT__entry(
15 __field(dev_t, dev)
16 __field(ino_t, ino)
17 __field(loff_t, isize)
18 __field(loff_t, pos)
19 __field(size_t, count)
20 __field(int, ki_flags)
21 __field(int, aio)
22 __field(int, ret)
23 ),
24 TP_fast_assign(
25 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev;
26 __entry->ino = file_inode(iocb->ki_filp)->i_ino;
27 __entry->isize = file_inode(iocb->ki_filp)->i_size;
28 __entry->pos = iocb->ki_pos;
> 29 __entry->count = iter ? iov_iter_count(iter) : ret;
30 __entry->ki_flags = iocb->ki_flags;
31 __entry->aio = !is_sync_kiocb(iocb);
32 __entry->ret = iter ? ret : 0;
33 ),
34 TP_printk("dev %d:%d ino 0x%lx isize 0x%llx pos 0x%llx count %ld flags %s aio %d ret=%d",
35 MAJOR(__entry->dev), MINOR(__entry->dev),
36 __entry->ino,
37 __entry->isize,
38 __entry->pos,
> 39 __entry->count,