Blob Blame History Raw
From 7cb63b05dad453d015bbe462b799fb031dd6952c Mon Sep 17 00:00:00 2001
From: Zdenek Kabelac <zkabelac@redhat.com>
Date: Tue, 31 May 2022 22:48:38 +0200
Subject: [PATCH 52/54] vdo: fix conversion of vdo_slab_size_mb

When converting VDO volume, the parameter vdo_slabSize was
incorrectly copied as vdo_blockMapCacheSize, however this parameter
is then no longer used for any table line creation so the wrong
value was only stored in metadata.

Also use just single get_kb_size_with_unit_ and remove it's duplicate
functionality with get_mb_size_with_unit_.

Use $VERB for vdo remove call.
---
 scripts/lvm_import_vdo.sh | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/scripts/lvm_import_vdo.sh b/scripts/lvm_import_vdo.sh
index 61a82e41e..beb55dbdb 100755
--- a/scripts/lvm_import_vdo.sh
+++ b/scripts/lvm_import_vdo.sh
@@ -125,15 +125,6 @@ get_kb_size_with_unit_() {
 	esac
 }
 
-get_mb_size_with_unit_() {
-	case "$1" in
-	*[mM]) echo $(( ${1%[mM]} )) ;;
-	*[gG]) echo $(( ${1%[gG]} * 1024 )) ;;
-	*[tT]) echo $(( ${1%[tT]} * 1024 * 1024 )) ;;
-	*[pP]) echo $(( ${1%[pP]} * 1024 * 1024 * 1024 )) ;;
-	esac
-}
-
 # Figure out largest possible extent size usable for VG
 # $1   physical size
 # $2   logical size
@@ -328,12 +319,12 @@ allocation {
 	vdo_use_deduplication = $(get_enabled_value_ "$vdo_deduplication")
 	vdo_use_metadata_hints=1
 	vdo_minimum_io_size = $vdo_logicalBlockSize
-	vdo_block_map_cache_size_mb = $(get_mb_size_with_unit_ "$vdo_blockMapCacheSize")
+	vdo_block_map_cache_size_mb = $(( $(get_kb_size_with_unit_ "$vdo_blockMapCacheSize") / 1024 ))
 	vdo_block_map_period = $vdo_blockMapPeriod
 	vdo_check_point_frequency = $vdo_indexCfreq
 	vdo_use_sparse_index = $(get_enabled_value_ "$vdo_indexSparse")
 	vdo_index_memory_size_mb = $(awk "BEGIN {print $vdo_indexMemory * 1024}")
-	vdo_slab_size_mb = $(get_mb_size_with_unit_ "$vdo_blockMapCacheSize")
+	vdo_slab_size_mb = $(( $(get_kb_size_with_unit_ "$vdo_blockMapCacheSize") / 1024 ))
 	vdo_ack_threads = $vdo_ackThreads
 	vdo_bio_threads = $vdo_bioThreads
 	vdo_bio_rotation = $vdo_bioRotationInterval
-- 
2.34.3