Messages in this thread | | | Date | Tue, 11 Jan 2022 09:28:04 +0800 | From | kernel test robot <> | Subject | fs/xfs/xfs_aops.c:173:1: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} |
| |
tree: https://github.com/0day-ci/linux/commits/UPDATE-20220111-073805/trondmy-kernel-org/iomap-Address-soft-lockup-in-iomap_finish_ioend/20211231-034313 head: f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001 commit: f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001 iomap: Address soft lockup in iomap_finish_ioend() date: 2 hours ago config: openrisc-buildonly-randconfig-r002-20220111 (https://download.01.org/0day-ci/archive/20220111/202201110922.MKEJwgs1-lkp@intel.com/config) compiler: or1k-linux-gcc (GCC) 11.2.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/f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review UPDATE-20220111-073805/trondmy-kernel-org/iomap-Address-soft-lockup-in-iomap_finish_ioend/20211231-034313 git checkout f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=openrisc SHELL=/bin/bash fs/xfs/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/cpumask.h:10, from include/linux/smp.h:13, from include/linux/lockdep.h:14, from include/linux/spinlock.h:62, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from fs/xfs/kmem.h:9, from fs/xfs/xfs_linux.h:24, from fs/xfs/xfs.h:22, from fs/xfs/xfs_aops.c:7: fs/xfs/xfs_aops.c: In function 'xfs_end_io': >> fs/xfs/xfs_aops.c:173:1: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...... 176 | ioend->io_size, (ioend->io_size >> 9), | ~~~~~~~~~~~~~~ | | | size_t {aka unsigned int} include/linux/kernel.h:324:47: note: in definition of macro '__trace_printk_check_format' 324 | ____trace_printk_check_format(fmt, ##args); \ | ^~~ include/linux/kernel.h:361:17: note: in expansion of macro 'do_trace_printk' 361 | do_trace_printk(fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~~~ fs/xfs/xfs_aops.c:172:9: note: in expansion of macro 'trace_printk' 172 | trace_printk( | ^~~~~~~~~~~~ fs/xfs/xfs_aops.c:173:33: note: format string is defined here 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ~~^ | | | long unsigned int | %u In file included from include/linux/cpumask.h:10, from include/linux/smp.h:13, from include/linux/lockdep.h:14, from include/linux/spinlock.h:62, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from fs/xfs/kmem.h:9, from fs/xfs/xfs_linux.h:24, from fs/xfs/xfs.h:22, from fs/xfs/xfs_aops.c:7: >> fs/xfs/xfs_aops.c:173:1: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...... 176 | ioend->io_size, (ioend->io_size >> 9), | ~~~~~~~~~~~~~~~~~~~~~ | | | size_t {aka unsigned int} include/linux/kernel.h:324:47: note: in definition of macro '__trace_printk_check_format' 324 | ____trace_printk_check_format(fmt, ##args); \ | ^~~ include/linux/kernel.h:361:17: note: in expansion of macro 'do_trace_printk' 361 | do_trace_printk(fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~~~ fs/xfs/xfs_aops.c:172:9: note: in expansion of macro 'trace_printk' 172 | trace_printk( | ^~~~~~~~~~~~ fs/xfs/xfs_aops.c:173:39: note: format string is defined here 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ~~^ | | | long unsigned int | %x In file included from include/linux/cpumask.h:10, from include/linux/smp.h:13, from include/linux/lockdep.h:14, from include/linux/spinlock.h:62, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from fs/xfs/kmem.h:9, from fs/xfs/xfs_linux.h:24, from fs/xfs/xfs.h:22, from fs/xfs/xfs_aops.c:7: fs/xfs/xfs_aops.c:173:1: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...... 176 | ioend->io_size, (ioend->io_size >> 9), | ~~~~~~~~~~~~~~ | | | size_t {aka unsigned int} include/linux/kernel.h:377:43: note: in definition of macro 'do_trace_printk' 377 | __trace_printk(_THIS_IP_, fmt, ##args); \ | ^~~ fs/xfs/xfs_aops.c:172:9: note: in expansion of macro 'trace_printk' 172 | trace_printk( | ^~~~~~~~~~~~ fs/xfs/xfs_aops.c:173:33: note: format string is defined here 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ~~^ | | | long unsigned int | %u In file included from include/linux/cpumask.h:10, from include/linux/smp.h:13, from include/linux/lockdep.h:14, from include/linux/spinlock.h:62, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from fs/xfs/kmem.h:9, from fs/xfs/xfs_linux.h:24, from fs/xfs/xfs.h:22, from fs/xfs/xfs_aops.c:7: fs/xfs/xfs_aops.c:173:1: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...... 176 | ioend->io_size, (ioend->io_size >> 9), | ~~~~~~~~~~~~~~~~~~~~~ | | | size_t {aka unsigned int} include/linux/kernel.h:377:43: note: in definition of macro 'do_trace_printk' 377 | __trace_printk(_THIS_IP_, fmt, ##args); \ | ^~~ fs/xfs/xfs_aops.c:172:9: note: in expansion of macro 'trace_printk' 172 | trace_printk( | ^~~~~~~~~~~~ fs/xfs/xfs_aops.c:173:39: note: format string is defined here 173 | "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", | ~~^ | | | long unsigned int | %x
vim +173 fs/xfs/xfs_aops.c
138 139 /* 140 * Finish all pending IO completions that require transactional modifications. 141 * 142 * We try to merge physical and logically contiguous ioends before completion to 143 * minimise the number of transactions we need to perform during IO completion. 144 * Both unwritten extent conversion and COW remapping need to iterate and modify 145 * one physical extent at a time, so we gain nothing by merging physically 146 * discontiguous extents here. 147 * 148 * The ioend chain length that we can be processing here is largely unbound in 149 * length and we may have to perform significant amounts of work on each ioend 150 * to complete it. Hence we have to be careful about holding the CPU for too 151 * long in this loop. 152 */ 153 void 154 xfs_end_io( 155 struct work_struct *work) 156 { 157 struct xfs_inode *ip = 158 container_of(work, struct xfs_inode, i_ioend_work); 159 struct iomap_ioend *ioend; 160 struct list_head tmp; 161 unsigned long flags; 162 163 msleep(5000); 164 spin_lock_irqsave(&ip->i_ioend_lock, flags); 165 list_replace_init(&ip->i_ioend_list, &tmp); 166 spin_unlock_irqrestore(&ip->i_ioend_lock, flags); 167 168 iomap_sort_ioends(&tmp); 169 while ((ioend = list_first_entry_or_null(&tmp, struct iomap_ioend, 170 io_list))) { 171 list_del_init(&ioend->io_list); 172 trace_printk( > 173 "off 0x%llx, sect 0x%llx size %lu/0x%lx end 0x%llx", 174 ioend->io_offset, 175 ioend->io_sector, 176 ioend->io_size, (ioend->io_size >> 9), 177 ioend->io_sector + (ioend->io_size >> 9)); 178 179 iomap_ioend_try_merge(ioend, &tmp); 180 xfs_end_ioend(ioend); 181 cond_resched(); 182 } 183 } 184
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |