Re: [PATCH] xfs/424: test xfs_db to ensure type size taken into account with new type

Bill O'Donnell
2017-07-14T19:11:04Z

On Fri, Jul 14, 2017 at 02:01:31PM -0500, Eric Sandeen wrote:
>
>
> On 07/14/2017 11:47 AM, Bill O'Donnell wrote:
> > On Fri, Jul 14, 2017 at 10:42:57AM -0500, Eric Sandeen wrote:
>
>
> >>> +# for different sector sizes, ensure no CRC errors are falsely reported
> >>> +
> >>> +# Supported types include: agf, agfl, agi, attr3, bmapbta,
> >>> +# bmapbtd, bnobt, cntbt, data, dir3, dqblk, inobt, inodata,
> >>> +# inode, log, rtbitmap, rtsummary, sb, symlink, text, finobt.
> >>
> >> This leaves me wondering why we don't test most of the above ;)
> >>
> >>> +# For various sector sizes, test some types that involve type size.
> >>> +for SECTOR_SIZE in 512 1024 2048 4096; do
> >>> + $MKFS_XFS_PROG -f -s size=$SECTOR_SIZE $SCRATCH_DEV > /dev/null
> >>> + for TYPE in agf agi agfl sb; do
> >>> + DADDR=`$XFS_DB_PROG -c "$TYPE" -c "daddr" $SCRATCH_DEV | _filter_dbval`
> >>> + $XFS_DB_PROG -c "$TYPE" -c "daddr 42" -c "daddr $DADDR" -c "type $TYPE" $SCRATCH_DEV
> >>
> >> Hm is there a reason for the first "-c $TYPE" or even the "daddr 42" in the line just above?
> > It's drawn from the reproducer test case.
> > The first "-c $TYPE" sets the object, "daddr 42" is an arbitrary address set. Without
> > the daddr change and change-back, the test will pass even without the recent xfs_db
> > xfsprogs change.
>
> Really? Not here, xfsprogs-4.5.0 :
>
> # xfs_db -c "daddr 2" -c "type agi" fsfile
> Metadata CRC error detected at xfs_agi block 0x2/0x200

Ahh, ok, you're correct - I'll modify the test accordingly.
Thanks-
Bill

>
>
> -Eric