[xfs:xfs-misc-fixes-4.6-3 10/11] fs/xfs/xfs_ondisk.h:79:24: error: 'xfs_attr_shortform_t' undeclared

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git xfs-misc-fixes-4.6-3
head:   a5fd276bdc4fb71b06d100a6abc77ad682f77de4
commit: 30cbc591c34e680e8b5d6d675ea49effe42a0570 [10/11] xfs: check sizes of XFS on-disk structures at compile time
config: sparc64-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 30cbc591c34e680e8b5d6d675ea49effe42a0570
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from fs/xfs/xfs_linux.h:21,
                    from fs/xfs/xfs.h:32,
                    from fs/xfs/xfs_super.c:19:
   fs/xfs/xfs_ondisk.h: In function 'xfs_check_ondisk_structs':
>> fs/xfs/xfs_ondisk.h:79:24: error: 'xfs_attr_shortform_t' undeclared (first use in this function)
     XFS_CHECK_STRUCT_SIZE(xfs_attr_shortform_t,  8);
                           ^
   include/linux/compiler.h:481:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^
   include/linux/compiler.h:501:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   fs/xfs/xfs_ondisk.h:22:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \
     ^
   fs/xfs/xfs_ondisk.h:79:2: note: in expansion of macro 'XFS_CHECK_STRUCT_SIZE'
     XFS_CHECK_STRUCT_SIZE(xfs_attr_shortform_t,  8);
     ^
   fs/xfs/xfs_ondisk.h:79:24: note: each undeclared identifier is reported only once for each function it appears in
     XFS_CHECK_STRUCT_SIZE(xfs_attr_shortform_t,  8);
                           ^
   include/linux/compiler.h:481:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^
   include/linux/compiler.h:501:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   fs/xfs/xfs_ondisk.h:22:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \
     ^
   fs/xfs/xfs_ondisk.h:79:2: note: in expansion of macro 'XFS_CHECK_STRUCT_SIZE'
     XFS_CHECK_STRUCT_SIZE(xfs_attr_shortform_t,  8);
     ^
>> fs/xfs/xfs_ondisk.h:108:24: error: invalid application of 'sizeof' to incomplete type 'struct xfs_log_dinode'
     XFS_CHECK_STRUCT_SIZE(struct xfs_log_dinode,  176);
                           ^
   include/linux/compiler.h:481:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^
   include/linux/compiler.h:501:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   fs/xfs/xfs_ondisk.h:22:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \
     ^
   fs/xfs/xfs_ondisk.h:108:2: note: in expansion of macro 'XFS_CHECK_STRUCT_SIZE'
     XFS_CHECK_STRUCT_SIZE(struct xfs_log_dinode,  176);
     ^

vim +/xfs_attr_shortform_t +79 fs/xfs/xfs_ondisk.h

    16	 * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    17	 */
    18	#ifndef __XFS_ONDISK_H
    19	#define __XFS_ONDISK_H
    20	
    21	#define XFS_CHECK_STRUCT_SIZE(structname, size) \
  > 22		BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \
    23			#structname ") is wrong, expected " #size)
    24	
    25	static inline void __init
    26	xfs_check_ondisk_structs(void)
    27	{
    28		/* ag/file structures */
    29		XFS_CHECK_STRUCT_SIZE(struct xfs_acl,			4);
    30		XFS_CHECK_STRUCT_SIZE(struct xfs_acl_entry,		12);
    31		XFS_CHECK_STRUCT_SIZE(struct xfs_agf,			224);
    32		XFS_CHECK_STRUCT_SIZE(struct xfs_agfl,			36);
    33		XFS_CHECK_STRUCT_SIZE(struct xfs_agi,			336);
    34		XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_key,		8);
    35		XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_rec,		16);
    36		XFS_CHECK_STRUCT_SIZE(struct xfs_bmdr_block,		4);
    37		XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block,		72);
    38		XFS_CHECK_STRUCT_SIZE(struct xfs_dinode,		176);
    39		XFS_CHECK_STRUCT_SIZE(struct xfs_disk_dquot,		104);
    40		XFS_CHECK_STRUCT_SIZE(struct xfs_dqblk,			136);
    41		XFS_CHECK_STRUCT_SIZE(struct xfs_dsb,			264);
    42		XFS_CHECK_STRUCT_SIZE(struct xfs_dsymlink_hdr,		56);
    43		XFS_CHECK_STRUCT_SIZE(struct xfs_inobt_key,		4);
    44		XFS_CHECK_STRUCT_SIZE(struct xfs_inobt_rec,		16);
    45		XFS_CHECK_STRUCT_SIZE(struct xfs_timestamp,		8);
    46		XFS_CHECK_STRUCT_SIZE(xfs_alloc_key_t,			8);
    47		XFS_CHECK_STRUCT_SIZE(xfs_alloc_ptr_t,			4);
    48		XFS_CHECK_STRUCT_SIZE(xfs_alloc_rec_t,			8);
    49		XFS_CHECK_STRUCT_SIZE(xfs_inobt_ptr_t,			4);
    50	
    51		/* dir/attr trees */
    52		XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_leaf_hdr,	80);
    53		XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_leafblock,	88);
    54		XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_rmt_hdr,		56);
    55		XFS_CHECK_STRUCT_SIZE(struct xfs_da3_blkinfo,		56);
    56		XFS_CHECK_STRUCT_SIZE(struct xfs_da3_intnode,		64);
    57		XFS_CHECK_STRUCT_SIZE(struct xfs_da3_node_hdr,		64);
    58		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_blk_hdr,		48);
    59		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_data_hdr,		64);
    60		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_free,		64);
    61		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_free_hdr,		64);
    62		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_leaf,		64);
    63		XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_leaf_hdr,		64);
    64		XFS_CHECK_STRUCT_SIZE(xfs_attr_leaf_entry_t,		8);
    65		XFS_CHECK_STRUCT_SIZE(xfs_attr_leaf_hdr_t,		32);
    66		XFS_CHECK_STRUCT_SIZE(xfs_attr_leaf_map_t,		4);
    67		XFS_CHECK_STRUCT_SIZE(xfs_attr_leaf_name_local_t,	4);
    68	
    69		/*
    70		 * m68k has problems with xfs_attr_leaf_name_remote_t, but we pad it to
    71		 * 4 bytes anyway so it's not obviously a problem.  Hence for the moment
    72		 * we don't check this structure. This can be re-instated when the attr
    73		 * definitions are updated to use c99 VLA definitions.
    74		 *
    75		XFS_CHECK_STRUCT_SIZE(xfs_attr_leaf_name_remote_t,	12);
    76		 */
    77	
    78		XFS_CHECK_STRUCT_SIZE(xfs_attr_leafblock_t,		40);
  > 79		XFS_CHECK_STRUCT_SIZE(xfs_attr_shortform_t,		8);
    80		XFS_CHECK_STRUCT_SIZE(xfs_da_blkinfo_t,			12);
    81		XFS_CHECK_STRUCT_SIZE(xfs_da_intnode_t,			16);
    82		XFS_CHECK_STRUCT_SIZE(xfs_da_node_entry_t,		8);
    83		XFS_CHECK_STRUCT_SIZE(xfs_da_node_hdr_t,		16);
    84		XFS_CHECK_STRUCT_SIZE(xfs_dir2_data_free_t,		4);
    85		XFS_CHECK_STRUCT_SIZE(xfs_dir2_data_hdr_t,		16);
    86		XFS_CHECK_STRUCT_SIZE(xfs_dir2_data_unused_t,		6);
    87		XFS_CHECK_STRUCT_SIZE(xfs_dir2_free_hdr_t,		16);
    88		XFS_CHECK_STRUCT_SIZE(xfs_dir2_free_t,			16);
    89		XFS_CHECK_STRUCT_SIZE(xfs_dir2_ino4_t,			4);
    90		XFS_CHECK_STRUCT_SIZE(xfs_dir2_ino8_t,			8);
    91		XFS_CHECK_STRUCT_SIZE(xfs_dir2_inou_t,			8);
    92		XFS_CHECK_STRUCT_SIZE(xfs_dir2_leaf_entry_t,		8);
    93		XFS_CHECK_STRUCT_SIZE(xfs_dir2_leaf_hdr_t,		16);
    94		XFS_CHECK_STRUCT_SIZE(xfs_dir2_leaf_t,			16);
    95		XFS_CHECK_STRUCT_SIZE(xfs_dir2_leaf_tail_t,		4);
    96		XFS_CHECK_STRUCT_SIZE(xfs_dir2_sf_entry_t,		3);
    97		XFS_CHECK_STRUCT_SIZE(xfs_dir2_sf_hdr_t,		10);
    98		XFS_CHECK_STRUCT_SIZE(xfs_dir2_sf_off_t,		2);
    99	
   100		/* log structures */
   101		XFS_CHECK_STRUCT_SIZE(struct xfs_dq_logformat,		24);
   102		XFS_CHECK_STRUCT_SIZE(struct xfs_efd_log_format_32,	28);
   103		XFS_CHECK_STRUCT_SIZE(struct xfs_efd_log_format_64,	32);
   104		XFS_CHECK_STRUCT_SIZE(struct xfs_efi_log_format_32,	28);
   105		XFS_CHECK_STRUCT_SIZE(struct xfs_efi_log_format_64,	32);
   106		XFS_CHECK_STRUCT_SIZE(struct xfs_extent_32,		12);
   107		XFS_CHECK_STRUCT_SIZE(struct xfs_extent_64,		16);
 > 108		XFS_CHECK_STRUCT_SIZE(struct xfs_log_dinode,		176);
   109		XFS_CHECK_STRUCT_SIZE(struct xfs_icreate_log,		28);
   110		XFS_CHECK_STRUCT_SIZE(struct xfs_ictimestamp,		8);
   111		XFS_CHECK_STRUCT_SIZE(struct xfs_inode_log_format_32,	52);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs

[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux