xfs/516: Use scratch_xfs_get/set_sb_field api

When using old xfsprogs, this case fails as below:
    +write: invalid option -- 'd'

xfs_db write command support -d options since xfsprogs commit
86769b32d01 ("xfs_db: allow recalculating CRCs on invalid metadata").
For avoid invalid error, use scratch_xfs_set_sb_field api instead.

Also add missing "rm -f $seqres.full" at the beginning of the test.

Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Yang Xu
2020-06-30 14:23:07 +08:00
committed by Eryu Guan
parent 3c7fd09bc7
commit 5e169fbd34
+10 -4
View File
@@ -22,6 +22,8 @@ _cleanup()
cd /
}
rm -f $seqres.full
# get standard environment, filters and checks
. ./common/rc
. ./common/fuzzy
@@ -60,7 +62,8 @@ __test_mount_opts()
else
echo "mount failed" >> $seqres.full
fi
_scratch_xfs_db -c 'sb 0' -c 'p unit width' >> $seqres.full
_scratch_xfs_get_sb_field unit >> $seqres.full
_scratch_xfs_get_sb_field width >> $seqres.full
# Run xfs_repair in repair mode to see if it can be baited into nuking
# the root filesystem on account of the sunit update.
@@ -119,9 +122,12 @@ test_repair_detection()
fi
# Update the superblock like the kernel used to do.
_scratch_xfs_db -c 'sb 0' -c 'p unit width' >> $seqres.full
_scratch_xfs_db -x -c 'sb 0' -c 'write -d unit 256' -c 'write -d width 1024' >> $seqres.full
_scratch_xfs_db -c 'sb 0' -c 'p unit width' >> $seqres.full
_scratch_xfs_get_sb_field unit >> $seqres.full
_scratch_xfs_get_sb_field width >> $seqres.full
_scratch_xfs_set_sb_field unit 256 >> $seqres.full
_scratch_xfs_set_sb_field width 1024 >> $seqres.full
_scratch_xfs_get_sb_field unit >> $seqres.full
_scratch_xfs_get_sb_field width >> $seqres.full
# Run xfs_repair in repair mode to see if it can be baited into nuking
# the root filesystem on account of the sunit update.