1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

thin: fix low_water_mark threshold calc

Reporter noticed lvm2 incorrectly translated
lvm2 threshold value to  water mark in commit:
99237f0908

Fix it by properly translating size to number of
blocks in thin-pool and then calc for free blocks
matching configured lvm2 threshold value.

Reported-by: Ming-Hung Tsai <mingnus@gmail.com>
This commit is contained in:
Zdenek Kabelac 2016-02-11 18:05:36 +01:00
parent 8423be80ee
commit 02f2916b5b
2 changed files with 4 additions and 2 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.142 -
====================================
Fix thinp watermark calc for data LV for faster dmeventd responce (2.02.133).
Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in.
Do not check for suspended devices if scanning for lvmetad update.
Fix part. table filter with external_device_info_source="udev" and blkid<2.20.

View File

@ -295,9 +295,10 @@ static int _thin_pool_add_target_line(struct dev_manager *dm,
if (threshold < 50)
threshold = 50;
if (threshold < 100)
low_water_mark = (len * threshold + 99) / 100;
/* Translate to number of free pool blocks to trigger watermark */
low_water_mark = len / seg->chunk_size * (100 - threshold) / 100;
else
low_water_mark = len;
low_water_mark = 0;
if (!dm_tree_node_add_thin_pool_target(node, len,
seg->transaction_id,