xfs/010: explicitly allow corrupted write in xfs_db

xfs/010 wants to write corruption and test how xfs_repair
deals, but when:

  xfs: forbid AG btrees with level == 0

is merged to userspace, this new test fails the write verifier
in xfs_db.

Add "-c" to allow the corrupted write, do the corruptions all
in one xfs_db command (so it doesn't have to re-read the
corrupted data on 2nd startup), and filter out the

  "Allowing write of corrupted data and bad CRC"

output from the "write -c" command.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Eric Sandeen
2017-01-09 10:49:21 -06:00
committed by Eryu Guan
parent 1abe96278d
commit 9ef7c4e3dc
+5 -2
View File
@@ -95,8 +95,11 @@ _corrupt_finobt_root()
dev=$1
# nuke the agi finobt root fields
$XFS_DB_PROG -x -c "agi 0" -c "write free_root 0" $dev
$XFS_DB_PROG -x -c "agi 0" -c "write free_level 0" $dev
$XFS_DB_PROG -x \
-c "agi 0" \
-c "write -c free_root 0" \
-c "write -c free_level 0" \
$dev | grep -v "Allowing write of corrupted"
}
# real QA test starts here