]> sourceware.org Git - lvm2.git/commitdiff
tests: vdo conversion updates
authorZdenek Kabelac <zkabelac@redhat.com>
Thu, 9 May 2024 22:24:23 +0000 (00:24 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Thu, 9 May 2024 23:15:55 +0000 (01:15 +0200)
test/shell/lvconvert-thin-vdo.sh
test/shell/lvcreate-thin-vdo.sh

index 0cb0b1eaf1c9c0706d14e7d50d42e45c0a5c2a87..8e186e2233714b98795a8d8d6d073fcac3044961 100644 (file)
@@ -30,26 +30,33 @@ prepare_lvs() {
 #
 aux have_thin 1 0 0 || skip
 aux have_vdo 6 2 0 || skip
+which mkfs.ext4 || skip
 
 aux prepare_vg 4 6400
 
-
 # convert to thin-pool with VDO backend from existing VG/LV
 lvcreate -L5G --name $lv1 $vg
-lvconvert --yes --type thin-pool -c 256K --pooldatavdo y $vg/$lv1
+mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
+# Conversion catched present filesystem and should fail
+fail lvconvert -Wy --type thin-pool -c 256K --deduplication n --pooldatavdo y $vg/$lv1
+# With --yes it should work over prompt
+lvconvert --yes -Wy --type thin-pool -c 256K --deduplication n --pooldatavdo y $vg/$lv1
 
 check lv_field $vg/$lv1 segtype thin-pool
 check lv_field $vg/${lv1}_tdata segtype vdo -a
+check lv_field $vg/${lv1}_tdata vdo_deduplication "" -a  # deduplication should be disabled
 
 lvremove -f $vg
 
 
 # convert to thin-pool with VDO backend from existing VDO VG/LV
-lvcreate -L5G --vdo --name $lv1 $vg
-lvconvert --yes --type thin-pool --pooldatavdo y $vg/$lv1
+lvcreate -L5G --vdo --compression y --name $lv1 $vg
+lvconvert --yes -Wy --type thin-pool --pooldatavdo y --compression n --vdosettings 'ack_threads=4' $vg/$lv1
 
 check lv_field $vg/$lv1 segtype thin-pool
 check lv_field $vg/${lv1}_tdata segtype vdo -a
+check lv_field $vg/${lv1}_tdata vdo_compression "" -a  # compression should be disabled
+
 
 lvremove -f $vg
 
index e73d9d99fe8f3cc9de15212d22c238684f2cda4f..92d9a285144613160e01f3465c6a3513af5d78db 100644 (file)
@@ -20,15 +20,23 @@ export LVM_TEST_THIN_REPAIR_CMD=${LVM_TEST_THIN_REPAIR_CMD-/bin/false}
 
 aux have_thin 1 0 0 || skip
 aux have_vdo 6 2 0 || skip
+which mkfs.ext4 || skip
 
 #
 # Main
 #
 aux prepare_vg 2 6400
 
+# Prepare some 'existing' fs signature, should be at location
+# used by later lvcreate --type thin-pool
+lvcreate -L5m -n $lv1 $vg
+lvcreate -L5G -n $lv2 $vg
+mkfs.ext4 "$DM_DEV_DIR/$vg/$lv2"
+lvremove -f $vg
+# TODO: lvm2 should like allow control over wipesginate when creating thin-pool
+
 # convert to thin-pool with VDO backend from existing VDO VG/LV
 lvcreate --type thin-pool -L5G --pooldatavdo y --name $lv1 $vg
-
 check lv_field $vg/$lv1 segtype thin-pool
 check lv_field $vg/${lv1}_tdata segtype vdo -a
 
This page took 0.040949 seconds and 5 git commands to generate.