Re: fs/xfs/xfs_ondisk.h:96:2: error: call to '__compiletime_assert_96' declared with attribute error: XFS: sizeof(xfs_dir2_sf_entry_t) is wrong, expected 3

2016-10-16 Thread Christoph Hellwig


> head:   1001354ca34179f3db924eb66672442a173147dc

That's Linux 4.9-rc1

> 30cbc591 Darrick J. Wong 2016-03-09 @86   
> XFS_CHECK_STRUCT_SIZE(xfs_dir2_data_unused_t,   6);

But that's not how xfs_ondisk.h in 4.9-rc1 looks like

> 30cbc591 Darrick J. Wong 2016-03-09 @96   
> XFS_CHECK_STRUCT_SIZE(xfs_dir2_sf_entry_t,  3);

And that's line 119.

Something is odd about this report. 

But both xfs_dir2_data_unused_t and xfs_dir2_sf_entry_t have one thing in
common: they are strutures that aren't padded to a natural alignment at
the end.  It seems like the openrisc gcc does implicit padding for them,
which sounds like a nightmware waiting to happen for any sort of disk
or network structure, so I'm really not sure if we should work around
it in xfs.


Re: fs/xfs/xfs_ondisk.h:96:2: error: call to '__compiletime_assert_96' declared with attribute error: XFS: sizeof(xfs_dir2_sf_entry_t) is wrong, expected 3

2016-10-16 Thread Christoph Hellwig


> head:   1001354ca34179f3db924eb66672442a173147dc

That's Linux 4.9-rc1

> 30cbc591 Darrick J. Wong 2016-03-09 @86   
> XFS_CHECK_STRUCT_SIZE(xfs_dir2_data_unused_t,   6);

But that's not how xfs_ondisk.h in 4.9-rc1 looks like

> 30cbc591 Darrick J. Wong 2016-03-09 @96   
> XFS_CHECK_STRUCT_SIZE(xfs_dir2_sf_entry_t,  3);

And that's line 119.

Something is odd about this report. 

But both xfs_dir2_data_unused_t and xfs_dir2_sf_entry_t have one thing in
common: they are strutures that aren't padded to a natural alignment at
the end.  It seems like the openrisc gcc does implicit padding for them,
which sounds like a nightmware waiting to happen for any sort of disk
or network structure, so I'm really not sure if we should work around
it in xfs.