Not sure what this test case wanted to achieve by deleting the
source device before the replace.
As per the comments the objective of this test case seems to be
~~~~
btrfs device replace test on RO fs
Regression test for commit:
bbb651e Btrfs: don't allow the replace procedure on read only filesystems
~~~~~
Also there won't be EIO when you delete a loop device when its
still mounted. as shown below.
mount /dev/loop0 /mnt
losetup -d /dev/loop0
echo $?
0
dd if=/dev/zero of=/mnt/tf1 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.
00192936 s, 265 kB/s
cd /mnt
sync
losetup -a
/dev/loop0: [0802]:
1291816 (/root/testdev/disk1)
No errors in the dmesg as well.
Instead of further confusing, I am deleting the delete loop device part
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
_mkfs_dev -m raid1 -d raid1 $loop_dev1 $loop_dev2 >>$seqres.full 2>&1
_mount -o ro $loop_dev1 $loop_mnt
-# Fail the second device and replace with the third
-_destroy_loop_device $loop_dev2
$BTRFS_UTIL_PROG replace start -B 2 $loop_dev3 $loop_mnt >>$seqres.full 2>&1 && \
_fail "FAIL: Device replaced on RO btrfs"