1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

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.
This commit is contained in:
Zdenek Kabelac 2022-05-31 22:48:38 +02:00
parent c302903dba
commit 1b070f366b
2 changed files with 4 additions and 12 deletions

View File

@ -1,5 +1,6 @@
Version 2.03.17 - Version 2.03.17 -
=============================== ===============================
Fix vdo_slab_size_mb value for converted VDO volume.
Version 2.03.16 - 18th May 2022 Version 2.03.16 - 18th May 2022
=============================== ===============================

View File

@ -125,15 +125,6 @@ get_kb_size_with_unit_() {
esac 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 # Figure out largest possible extent size usable for VG
# $1 physical size # $1 physical size
# $2 logical size # $2 logical size
@ -328,12 +319,12 @@ allocation {
vdo_use_deduplication = $(get_enabled_value_ "$vdo_deduplication") vdo_use_deduplication = $(get_enabled_value_ "$vdo_deduplication")
vdo_use_metadata_hints=1 vdo_use_metadata_hints=1
vdo_minimum_io_size = $vdo_logicalBlockSize 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_block_map_period = $vdo_blockMapPeriod
vdo_check_point_frequency = $vdo_indexCfreq vdo_check_point_frequency = $vdo_indexCfreq
vdo_use_sparse_index = $(get_enabled_value_ "$vdo_indexSparse") vdo_use_sparse_index = $(get_enabled_value_ "$vdo_indexSparse")
vdo_index_memory_size_mb = $(awk "BEGIN {print $vdo_indexMemory * 1024}") 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_ack_threads = $vdo_ackThreads
vdo_bio_threads = $vdo_bioThreads vdo_bio_threads = $vdo_bioThreads
vdo_bio_rotation = $vdo_bioRotationInterval vdo_bio_rotation = $vdo_bioRotationInterval
@ -417,7 +408,7 @@ EOF
# Note: that this is spelled OPPOSITE the other $IS_LV checks. # Note: that this is spelled OPPOSITE the other $IS_LV checks.
if [ "$IS_LV" = "1" ]; then if [ "$IS_LV" = "1" ]; then
verbose "Removing now-unused VDO entry from VDO config." 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 fi
rm -fr "$TEMPDIR" rm -fr "$TEMPDIR"