From: Christoph Hellwig <hch@lst.de>
To: fstests@vger.kernel.org
Cc: linux-btrfs@vger.kernel.org
Subject: [PATCH 3/9] btrfs/141: use common read repair helpers
Date: Tue, 24 May 2022 09:18:32 +0200 [thread overview]
Message-ID: <20220524071838.715013-4-hch@lst.de> (raw)
In-Reply-To: <20220524071838.715013-1-hch@lst.de>
Use the common helpers to find the btrfs logical address and to read from
a specific mirror.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
tests/btrfs/141 | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/tests/btrfs/141 b/tests/btrfs/141
index 9fdcb2ab..90a90d00 100755
--- a/tests/btrfs/141
+++ b/tests/btrfs/141
@@ -25,7 +25,6 @@ _supported_fs btrfs
_require_scratch_dev_pool 2
_require_btrfs_command inspect-internal dump-tree
-_require_command "$FILEFRAG_PROG" filefrag
get_physical()
{
@@ -69,8 +68,7 @@ $XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\
# one in $SCRATCH_DEV_POOL
echo "step 2......corrupt file extent" >>$seqres.full
-${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar >> $seqres.full
-logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | cut -d '#' -f 1`
+logical_in_btrfs=$(_btrfs_get_first_logical $SCRATCH_MNT/foobar)
physical=$(get_physical ${logical_in_btrfs} 1)
devid=$(get_devid ${logical_in_btrfs} 1)
devpath=$(get_device_path ${devid})
@@ -85,16 +83,7 @@ _scratch_mount
# step 3, 128k buffered read (this read can repair bad copy)
echo "step 3......repair the bad copy" >>$seqres.full
-# since raid1 consists of two copies, and the bad copy was put on stripe #1
-# while the good copy lies on stripe #0, the bad copy only gets access when the
-# reader's pid % 2 == 1 is true
-while true; do
- echo 3 > /proc/sys/vm/drop_caches
- $XFS_IO_PROG -c "pread -b 128K 0 128K" "$SCRATCH_MNT/foobar" > /dev/null &
- pid=$!
- wait
- [ $((pid % 2)) == 1 ] && break
-done
+_btrfs_buffered_read_on_mirror 1 2 "$SCRATCH_MNT/foobar" 0 128K
_scratch_unmount
--
2.30.2
next prev parent reply other threads:[~2022-05-24 7:18 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-24 7:18 two more btrfs read repair tests v2 Christoph Hellwig
2022-05-24 7:18 ` [PATCH 1/9] btrfs: add a helpers for read repair testing Christoph Hellwig
2022-05-24 13:18 ` Qu Wenruo
2022-05-27 11:22 ` Nikolay Borisov
2022-05-27 13:33 ` Christoph Hellwig
2022-05-24 7:18 ` [PATCH 2/9] btrfs/140: use common read repair helpers Christoph Hellwig
2022-05-24 13:21 ` Qu Wenruo
2022-05-24 7:18 ` Christoph Hellwig [this message]
2022-05-24 13:21 ` [PATCH 3/9] btrfs/141: " Qu Wenruo
2022-05-24 7:18 ` [PATCH 4/9] btrfs/142: " Christoph Hellwig
2022-05-24 13:21 ` Qu Wenruo
2022-05-24 7:18 ` [PATCH 5/9] btrfs/143: " Christoph Hellwig
2022-05-24 13:21 ` Qu Wenruo
2022-05-24 7:18 ` [PATCH 6/9] btrfs/157: use _btrfs_get_first_logical Christoph Hellwig
2022-05-24 13:21 ` Qu Wenruo
2022-05-24 7:18 ` [PATCH 7/9] btrfs/215: " Christoph Hellwig
2022-05-24 13:21 ` Qu Wenruo
2022-05-24 7:18 ` [PATCH 8/9] btrfs: test repair with sectors corrupted in multiple mirrors Christoph Hellwig
2022-05-24 13:28 ` Qu Wenruo
2022-06-02 11:30 ` Filipe Manana
2022-06-02 12:07 ` Christoph Hellwig
2022-05-24 7:18 ` [PATCH 9/9] btrfs: test repair with corrupted sectors interleaved over " Christoph Hellwig
2022-05-24 13:30 ` Qu Wenruo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220524071838.715013-4-hch@lst.de \
--to=hch@lst.de \
--cc=fstests@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox