]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fix filter for stripe aligned filesystems
authorDave Chinner <dgc@sgi.com>
Mon, 28 Apr 2008 06:26:58 +0000 (06:26 +0000)
committerDave Chinner <dgc@sgi.com>
Mon, 28 Apr 2008 06:26:58 +0000 (06:26 +0000)
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.

166

diff --git a/166 b/166
index 3094640c74ee1924ab5731546892690611f421d8..52db7de636f68e371fac6685d790bb02dc059480 100644 (file)
--- a/166
+++ b/166
@@ -17,6 +17,7 @@ here=`pwd`
 tmp=/tmp/$$
 status=1    # failure is the default!
 trap "_cleanup; exit \$status" 0 1 2 3 15
+rm -f $seq.full
 
 _cleanup()
 {
@@ -39,9 +40,14 @@ _filter_blocks()
                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"
@@ -49,11 +55,7 @@ _filter_blocks()
                } else if ($6 != unwritten2) {
                        size = "WRONG"
                }
-               if ($7 < 10000)
-                       flags = "BAD"
        } else {
-               size = "RIGHT"
-               flags = "GOOD"
                if ($6 != written_size)
                        size = "WRONG"
        }
@@ -77,6 +79,7 @@ FILE_SIZE=1048576
 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