_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.
# 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
$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