#
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
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