Flags has extra bits set in it xfs_bmap output when
the filesyste is using stripe alignment. Fix the test
to only look at the unwritten flag. Capture the xfs_bmap
output as well so failures can be debugged easily.
Merge of master-melb:xfs-cmds:30994a by kenmcd.
fix filter for stripe aligned filesystems.
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
+rm -f $seq.full
_cleanup()
{
unwritten2 = ((1048576/512) / 2) - 2 * written_size
}
- if ($7) {
- size = "RIGHT"
- flags = "GOOD"
+ /* is the extent unwritten? */
+ unwritten_ext = 0;
+ if ($7 >= 10000)
+ unwritten_ext = 1;
+
+ size = "RIGHT"
+ flags = "GOOD"
+ if (unwritten_ext) {
if (unwritten1) {
if ($6 != unwritten1)
size = "WRONG"
} else if ($6 != unwritten2) {
size = "WRONG"
}
- if ($7 < 10000)
- flags = "BAD"
} else {
- size = "RIGHT"
- flags = "GOOD"
if ($6 != written_size)
size = "WRONG"
}
rm -f $TEST_FILE
$TEST_PROG $FILE_SIZE $TEST_FILE
+xfs_bmap -vp $TEST_FILE >> $seq.full
xfs_bmap -vp $TEST_FILE | _filter_blocks
status=0