btrfs/163: replace sprout instead of seed
authorAnand Jain <anand.jain@oracle.com>
Tue, 20 Oct 2020 12:32:57 +0000 (20:32 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 25 Oct 2020 06:25:32 +0000 (14:25 +0800)
Make this test case inline with the kernel patch [1] changes
[1] c6a5d954950c btrfs: fix replace of seed device

So use the sprout device as the replace target instead of the seed device.
This change is compatible with the older kernels.

While at this, this patch also fixes a typo fix as well.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/btrfs/163
tests/btrfs/163.out

index 3047862f9e153845784458e7942675e484e3d8f6..735881c6936ee3f52bd5065c779ae846cdf1b074 100755 (executable)
@@ -4,11 +4,15 @@
 #
 # FS QA Test 163
 #
-# Test case to verify that a seed device can be replaced
+# Test case to verify that a sprouted device can be replaced
 #  Create a seed device
 #  Create a sprout device
 #  Remount RW
-#  Run device replace on the seed device
+#  Run device replace on the sprout device
+#
+# Depends on the kernel patch
+#   c6a5d954950c btrfs: fail replace of seed device
+
 seq=`basename $0`
 seqres=$RESULT_DIR/$seq
 echo "QA output created by $seq"
@@ -38,6 +42,7 @@ rm -f $seqres.full
 _supported_fs btrfs
 _require_command "$BTRFS_TUNE_PROG" btrfstune
 _require_scratch_dev_pool 3
+_require_btrfs_forget_or_module_loadable
 
 _scratch_dev_pool_get 3
 
@@ -51,7 +56,7 @@ create_seed()
        run_check _mount $dev_seed $SCRATCH_MNT
        $XFS_IO_PROG -f -d -c "pwrite -S 0xab 0 4M" $SCRATCH_MNT/foobar >\
                /dev/null
-       echo -- gloden --
+       echo -- golden --
        od -x $SCRATCH_MNT/foobar
        _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
        _scratch_unmount
@@ -63,22 +68,28 @@ add_sprout()
 {
        _run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT
        _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+       _mount -o remount,rw $dev_sprout $SCRATCH_MNT
+       $XFS_IO_PROG -f -c "pwrite -S 0xcd 0 4M" $SCRATCH_MNT/foobar2 >\
+               /dev/null
 }
 
-replace_seed()
+replace_sprout()
 {
-       _run_btrfs_util_prog replace start -fB $dev_seed $dev_replace_tgt $SCRATCH_MNT
+       _run_btrfs_util_prog replace start -fB $dev_sprout $dev_replace_tgt $SCRATCH_MNT
        _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
        _scratch_unmount
-       run_check _mount $dev_replace_tgt $SCRATCH_MNT
+       _btrfs_forget_or_module_reload
+       run_check _mount -o device=$dev_seed $dev_replace_tgt $SCRATCH_MNT
        echo -- sprout --
        od -x $SCRATCH_MNT/foobar
+       od -x $SCRATCH_MNT/foobar2
        _scratch_unmount
 
 }
 
 seed_is_mountable()
 {
+       _btrfs_forget_or_module_reload
        run_check _mount $dev_seed $SCRATCH_MNT
        _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
        _scratch_unmount
@@ -86,7 +97,7 @@ seed_is_mountable()
 
 create_seed
 add_sprout
-replace_seed
+replace_sprout
 
 seed_is_mountable
 
index 91f6f5b6f48acfe542c327abc22f6cba09473142..351ef7b040b2928ea1dcd3fadad7319069650756 100644 (file)
@@ -1,5 +1,5 @@
 QA output created by 163
--- gloden --
+-- golden --
 0000000 abab abab abab abab abab abab abab abab
 *
 20000000
@@ -7,3 +7,6 @@ QA output created by 163
 0000000 abab abab abab abab abab abab abab abab
 *
 20000000
+0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+*
+20000000