From patchwork Thu Jan 11 08:01:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qu Wenruo X-Patchwork-Id: 10157445 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 11137605BA for ; Thu, 11 Jan 2018 08:01:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E9B0128607 for ; Thu, 11 Jan 2018 08:01:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DBEC5286F4; Thu, 11 Jan 2018 08:01:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C20428607 for ; Thu, 11 Jan 2018 08:01:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753715AbeAKIB1 (ORCPT ); Thu, 11 Jan 2018 03:01:27 -0500 Received: from victor.provo.novell.com ([137.65.250.26]:40969 "EHLO prv3-mh.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753660AbeAKIB0 (ORCPT ); Thu, 11 Jan 2018 03:01:26 -0500 Received: from adam-pc.lan (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by prv3-mh.provo.novell.com with ESMTP (NOT encrypted); Thu, 11 Jan 2018 01:01:15 -0700 From: Qu Wenruo To: linux-btrfs@vger.kernel.org, fstests@vger.kernel.org Cc: eguan@redhat.com Subject: [PATCH v2] fstests: filter: Introduce filter to filter out offset for xfs_io Date: Thu, 11 Jan 2018 16:01:11 +0800 Message-Id: <20180111080111.11241-1-wqu@suse.com> X-Mailer: git-send-email 2.15.1 Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some test cases (AFAIK, btrfs RAID recovery test cases) read out certain location to verify its data. Such read is mostly OK, but the golden output contains the on-disk offset, which can differ due to underlying chunk change. (This time is mkfs chunk layout change for btrfs) So introduce macro _filter_xfs_io_offset to filter out the offset part wrote 65536/65536 bytes at offset 136708096 ^^^^^^^^^^^^^^^^^^^^ And offset from "pread -v" 08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ ^^^^^^^^^ Only btrfs/14[0-3] are affected. Reported-by: Nikolay Borisov Signed-off-by: Qu Wenruo --- v2: Merge all patches into one, and integrate _filter_xfs_io() into _filter_xfs_io_offset() --- common/filter | 10 +++++++- tests/btrfs/140 | 9 ++++--- tests/btrfs/140.out | 70 ++++++++++++++++++++++++++--------------------------- tests/btrfs/141 | 9 ++++--- tests/btrfs/141.out | 70 ++++++++++++++++++++++++++--------------------------- tests/btrfs/142 | 9 ++++--- tests/btrfs/142.out | 70 ++++++++++++++++++++++++++--------------------------- tests/btrfs/143 | 9 ++++--- tests/btrfs/143.out | 70 ++++++++++++++++++++++++++--------------------------- 9 files changed, 173 insertions(+), 153 deletions(-) diff --git a/common/filter b/common/filter index 9c33efac..8e1fdb4e 100644 --- a/common/filter +++ b/common/filter @@ -226,6 +226,15 @@ _filter_xfs_io() sed -e "s/[0-9/.]* [GMKiBbytes]*, [0-9]* ops\; [0-9/:. sec]* ([infa0-9/.]* [EPGMKiBbytes]*\/sec and [infa0-9/.]* ops\/sec)/XXX Bytes, X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" } +# Also filter out the offset part of xfs_io output +# Some test cases may be affected by underlaying extent/chunk layout change, +# so wipe out this part to avoid golden output difference +_filter_xfs_io_offset() +{ + # filter out " at offset XXX" and offset of "pread -v" + _filter_xfs_io | sed -e "s/ at offset [0-9]*$//" -e "s/^[0-9a-f]\+:/XXXXXXXX:/" +} + # stderr filter for xfs_io to handle change of error output format (e.g. # pwrite64 -> pwrite). _filter_xfs_io_error() @@ -277,7 +286,6 @@ _filter_xfs_io_pages_modified() _filter_xfs_io_units_modified "Page" $PAGE_SIZE } - _filter_test_dir() { # TEST_DEV may be a prefix of TEST_DIR (e.g. /mnt, /mnt/ovl-mnt) diff --git a/tests/btrfs/140 b/tests/btrfs/140 index 985327a0..cf5751e5 100755 --- a/tests/btrfs/140 +++ b/tests/btrfs/140 @@ -78,7 +78,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1 # chunk _scratch_mount -o nospace_cache -$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io +$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\ + _filter_xfs_io_offset # step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first # one in $SCRATCH_DEV_POOL @@ -89,7 +90,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c physical_on_scratch=`get_physical ${logical_in_btrfs}` _scratch_unmount -$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_mount @@ -109,7 +111,8 @@ done _scratch_unmount # check if the repair works -$XFS_IO_PROG -d -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -d -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_dev_pool_put # success, all done diff --git a/tests/btrfs/140.out b/tests/btrfs/140.out index c8565f53..f3fdf174 100644 --- a/tests/btrfs/140.out +++ b/tests/btrfs/140.out @@ -1,39 +1,39 @@ QA output created by 140 -wrote 131072/131072 bytes at offset 0 +wrote 131072/131072 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 65536/65536 bytes at offset 136708096 +wrote 65536/65536 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -read 512/512 bytes at offset 136708096 +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +read 512/512 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/btrfs/141 b/tests/btrfs/141 index 709bb0af..909a2ca3 100755 --- a/tests/btrfs/141 +++ b/tests/btrfs/141 @@ -78,7 +78,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1 # chunk _scratch_mount -o nospace_cache -$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io +$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\ + _filter_xfs_io_offset # step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first # one in $SCRATCH_DEV_POOL @@ -89,7 +90,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c physical_on_scratch=`get_physical ${logical_in_btrfs}` _scratch_unmount -$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_mount @@ -110,7 +112,8 @@ done _scratch_unmount # check if the repair works -$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_dev_pool_put # success, all done diff --git a/tests/btrfs/141.out b/tests/btrfs/141.out index 2e08fc22..116f98a2 100644 --- a/tests/btrfs/141.out +++ b/tests/btrfs/141.out @@ -1,39 +1,39 @@ QA output created by 141 -wrote 131072/131072 bytes at offset 0 +wrote 131072/131072 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 65536/65536 bytes at offset 136708096 +wrote 65536/65536 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -read 512/512 bytes at offset 136708096 +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +read 512/512 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/btrfs/142 b/tests/btrfs/142 index 5bd8b728..1a6ebb62 100755 --- a/tests/btrfs/142 +++ b/tests/btrfs/142 @@ -99,7 +99,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1 # chunk _scratch_mount -o nospace_cache,nodatasum -$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io +$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\ + _filter_xfs_io_offset # step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first # one in $SCRATCH_DEV_POOL @@ -110,7 +111,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c physical_on_scratch=`get_physical ${logical_in_btrfs}` _scratch_unmount -$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_mount -o nospace_cache @@ -135,7 +137,8 @@ stop_fail _scratch_unmount # check if the repair works -$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_dev_pool_put # success, all done diff --git a/tests/btrfs/142.out b/tests/btrfs/142.out index d8be7fbf..0f32ffbe 100644 --- a/tests/btrfs/142.out +++ b/tests/btrfs/142.out @@ -1,39 +1,39 @@ QA output created by 142 -wrote 131072/131072 bytes at offset 0 +wrote 131072/131072 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 65536/65536 bytes at offset 136708096 +wrote 65536/65536 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -read 512/512 bytes at offset 136708096 +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +read 512/512 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/btrfs/143 b/tests/btrfs/143 index 3875b6c4..848014e0 100755 --- a/tests/btrfs/143 +++ b/tests/btrfs/143 @@ -106,7 +106,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1 # chunk _scratch_mount -o nospace_cache,nodatasum -$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io +$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\ + _filter_xfs_io_offset # step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first # one in $SCRATCH_DEV_POOL @@ -117,7 +118,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c physical_on_scratch=`get_physical ${logical_in_btrfs}` _scratch_unmount -$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_mount -o nospace_cache @@ -142,7 +144,8 @@ done _scratch_unmount # check if the repair works -$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io +$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\ + _filter_xfs_io_offset _scratch_dev_pool_put # success, all done diff --git a/tests/btrfs/143.out b/tests/btrfs/143.out index 97bf45c5..66afea4b 100644 --- a/tests/btrfs/143.out +++ b/tests/btrfs/143.out @@ -1,39 +1,39 @@ QA output created by 143 -wrote 131072/131072 bytes at offset 0 +wrote 131072/131072 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 65536/65536 bytes at offset 136708096 +wrote 65536/65536 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ -read 512/512 bytes at offset 136708096 +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ +read 512/512 bytes XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)