Use the common helpers to find the btrfs logical address and to read from a specific mirror. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Qu Wenruo <wqu@xxxxxxxx> --- tests/btrfs/143 | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/tests/btrfs/143 b/tests/btrfs/143 index 71db861d..b6ff2a42 100755 --- a/tests/btrfs/143 +++ b/tests/btrfs/143 @@ -34,7 +34,6 @@ _require_scratch_dev_pool 2 _require_dm_target dust _require_btrfs_command inspect-internal dump-tree -_require_command "$FILEFRAG_PROG" filefrag _scratch_dev_pool_get 2 # step 1, create a raid1 btrfs which contains one 128k file. @@ -53,8 +52,7 @@ $XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\ # step 2, corrupt the first 64k of stripe #1 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) echo "Logical offset is $logical_in_btrfs" >>$seqres.full _scratch_unmount @@ -74,10 +72,8 @@ echo "step 3......repair the bad copy" >>$seqres.full $DMSETUP_PROG message dust-test 0 addbadblock $((physical / 512)) $DMSETUP_PROG message dust-test 0 enable -while [[ -z $( (( BASHPID % 2 == stripe )) && - exec $XFS_IO_PROG -c "pread -b 128K 0 128K" "$SCRATCH_MNT/foobar") ]]; do - : -done + +_btrfs_buffered_read_on_mirror $stripe 2 "$SCRATCH_MNT/foobar" 0 128K _cleanup_dust -- 2.30.2