On Sat, Aug 22, 2020 at 08:12:18AM +0100, Christoph Hellwig wrote: > > diff --git a/fs/xfs/xfs_ondisk.h b/fs/xfs/xfs_ondisk.h > > index acb9b737fe6b..48a64fa49f91 100644 > > --- a/fs/xfs/xfs_ondisk.h > > +++ b/fs/xfs/xfs_ondisk.h > > @@ -15,6 +15,18 @@ > > "XFS: offsetof(" #structname ", " #member ") is wrong, " \ > > "expected " #off) > > > > +#define XFS_CHECK_VALUE(value, expected) \ > > + BUILD_BUG_ON_MSG((value) != (expected), \ > > + "XFS: value of " #value " is wrong, expected " #expected) > > + > > +static inline void __init > > +xfs_check_limits(void) > > +{ > > + /* make sure timestamp limits are correct */ > > + XFS_CHECK_VALUE(XFS_INO_TIME_MIN, -2147483648LL); > > + XFS_CHECK_VALUE(XFS_INO_TIME_MAX, 2147483647LL); > > I have to admit I don't get why you'd define a constant and then > check that it has the value you defined it to. Seems a little cargo > cult. Testing the timestamp min/max is more important for bigtime, since the supported ranges are not conveniently aligned with S32_MIN/MAX. But it felt strange to build-check bigtime without doing the same for !bigtime, so I included it here for completeness. --D