From 2f2dd62b6f6aa61f14f108b95cee7e82f4114614 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Mon, 22 Nov 2021 14:16:02 +0100 Subject: [PATCH] vdo_stats: Default to 100 % savings for invalid savings values We are currently using "-1" when VDO logical_blocks_used is 0 which doesn't match the LVM logic which returns 100 so to make both values in vdo_info and vdo_stats equal we should return 100 in this case too. --- src/plugins/vdo_stats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/vdo_stats.c b/src/plugins/vdo_stats.c index ed04b5101..9f2a24c89 100644 --- a/src/plugins/vdo_stats.c +++ b/src/plugins/vdo_stats.c @@ -96,7 +96,7 @@ static void add_block_stats (GHashTable *stats) { g_hash_table_replace (stats, g_strdup ("oneKBlocksUsed"), g_strdup_printf ("%"G_GINT64_FORMAT, (data_blocks_used + overhead_blocks_used) * block_size / 1024)); g_hash_table_replace (stats, g_strdup ("oneKBlocksAvailable"), g_strdup_printf ("%"G_GINT64_FORMAT, (physical_blocks - data_blocks_used - overhead_blocks_used) * block_size / 1024)); g_hash_table_replace (stats, g_strdup ("usedPercent"), g_strdup_printf ("%.0f", 100.0 * (gfloat) (data_blocks_used + overhead_blocks_used) / (gfloat) physical_blocks + 0.5)); - savings = (logical_blocks_used > 0) ? (gint64) (100.0 * (gfloat) (logical_blocks_used - data_blocks_used) / (gfloat) logical_blocks_used) : -1; + savings = (logical_blocks_used > 0) ? (gint64) (100.0 * (gfloat) (logical_blocks_used - data_blocks_used) / (gfloat) logical_blocks_used) : 100; g_hash_table_replace (stats, g_strdup ("savings"), g_strdup_printf ("%"G_GINT64_FORMAT, savings)); if (savings >= 0) g_hash_table_replace (stats, g_strdup ("savingPercent"), g_strdup_printf ("%"G_GINT64_FORMAT, savings));