Re: [PATCH V5 12/16] xfs: Introduce per-inode 64-bit extent counters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 26, 2022 at 02:20:43PM +0530, Chandan Babu R wrote:
> On 26 Jan 2022 at 04:21, kernel test robot wrote:
> > Hi Chandan,
> >
> > Thank you for the patch! Yet something to improve:
> >
> > [auto build test ERROR on xfs-linux/for-next]
> > [also build test ERROR on v5.17-rc1 next-20220125]
> > [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/Chandan-Babu-R/xfs-Extend-per-inode-extent-counters/20220121-132128
> > base:   https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git for-next
> > config: arm-randconfig-c003-20220122 (https://download.01.org/0day-ci/archive/20220126/202201260622.XxiP4fe5-lkp@xxxxxxxxx/config)
> > compiler: arm-linux-gnueabi-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/f12e8b5064fc3ef50c9d26f15f4a6984db59927c
> >         git remote add linux-review https://github.com/0day-ci/linux
> >         git fetch --no-tags linux-review Chandan-Babu-R/xfs-Extend-per-inode-extent-counters/20220121-132128
> >         git checkout f12e8b5064fc3ef50c9d26f15f4a6984db59927c
> >         # 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=arm SHELL=/bin/bash fs/xfs/
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > All errors (new ones prefixed by >>):
> >
> >    In file included from <command-line>:
> >    In function 'xfs_check_ondisk_structs',
> >        inlined from 'init_xfs_fs' at fs/xfs/xfs_super.c:2223:2:
> >>> include/linux/compiler_types.h:335:45: error: call to '__compiletime_assert_900' declared with attribute error: XFS: sizeof(struct xfs_dinode) is wrong, expected 176
> >      335 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> >          |                                             ^
> >    include/linux/compiler_types.h:316:25: note: in definition of macro '__compiletime_assert'
> >      316 |                         prefix ## suffix();                             \
> >          |                         ^~~~~~
> >    include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
> >      335 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> >          |         ^~~~~~~~~~~~~~~~~~~
> >    include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
> >       39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> >          |                                     ^~~~~~~~~~~~~~~~~~
> >    fs/xfs/xfs_ondisk.h:10:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> >       10 |         BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \
> >          |         ^~~~~~~~~~~~~~~~
> >    fs/xfs/xfs_ondisk.h:37:9: note: in expansion of macro 'XFS_CHECK_STRUCT_SIZE'
> >       37 |         XFS_CHECK_STRUCT_SIZE(struct xfs_dinode,                176);
> >          |         ^~~~~~~~~~~~~~~~~~~~~
> >
> 
> The following newly introduced union inside "struct xfs_dinode" and the
> corresponding one in "struct xfs_log_dinode",
>         union {
>                 struct {
>                         __be32  di_big_anextents; /* NREXT64 attr extents */
>                         __be16  di_nrext64_pad; /* NREXT64 unused, zero */
>                 } __packed;
>                 struct {
>                         __be32  di_nextents;    /* !NREXT64 data extents */
>                         __be16  di_anextents;   /* !NREXT64 attr extents */
>                 } __packed;
>         };
> 
> needs to be packed as well. I will include this fix in the next version of the
> patchset.

Eughrhrghgg I hate C sometimes.

Thank you for fixing this.

--D

> >
> > vim +/__compiletime_assert_900 +335 include/linux/compiler_types.h
> >
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  321  
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  322  #define _compiletime_assert(condition, msg, prefix, suffix) \
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  323  	__compiletime_assert(condition, msg, prefix, suffix)
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  324  
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  325  /**
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  326   * compiletime_assert - break build and emit msg if condition is false
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  327   * @condition: a compile-time constant condition to check
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  328   * @msg:       a message to emit if condition is false
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  329   *
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  330   * In tradition of POSIX assert, this macro will break the build if the
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  331   * supplied condition is *false*, emitting the supplied error message if the
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  332   * compiler has support to do so.
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  333   */
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  334  #define compiletime_assert(condition, msg) \
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21 @335  	_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> > eb5c2d4b45e3d2 Will Deacon 2020-07-21  336  
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> 
> 
> -- 
> chandan



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux