]> sourceware.org Git - lvm2.git/commitdiff
vdo: fix conversion of vdo_slab_size_mb
authorZdenek Kabelac <zkabelac@redhat.com>
Tue, 31 May 2022 20:48:38 +0000 (22:48 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Tue, 7 Jun 2022 15:14:08 +0000 (17:14 +0200)
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.

WHATS_NEW
scripts/lvm_import_vdo.sh

index 844f6908488ee8e0bc256b5a75249e4d61b65187..fed5faedc09fe2a6812ec3700aabe8c34c1745b4 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.03.17 - 
 ===============================
+ Fix vdo_slab_size_mb value for converted VDO volume.
 
 Version 2.03.16 - 18th May 2022
 ===============================
index d01766743cf61fe0ed3445e13d38a2a962b2c6ed..c10b3b05045fb905aeb79474ed0404d3f96690e9 100755 (executable)
@@ -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
@@ -417,7 +408,7 @@ EOF
        # Note: that this is spelled OPPOSITE the other $IS_LV checks.
        if [ "$IS_LV" = "1" ]; then
                verbose "Removing now-unused VDO entry from VDO config."
-               dry "$VDO" remove $VDOCONF --force --verbose --name "$VDONAME"
+               dry "$VDO" remove $VDOCONF $VERB --force --name "$VDONAME"
        fi
 
        rm -fr "$TEMPDIR"
This page took 0.049565 seconds and 5 git commands to generate.