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:
parent
8423be80ee
commit
02f2916b5b
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.142 -
|
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.
|
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.
|
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.
|
Fix part. table filter with external_device_info_source="udev" and blkid<2.20.
|
||||||
|
@ -295,9 +295,10 @@ static int _thin_pool_add_target_line(struct dev_manager *dm,
|
|||||||
if (threshold < 50)
|
if (threshold < 50)
|
||||||
threshold = 50;
|
threshold = 50;
|
||||||
if (threshold < 100)
|
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
|
else
|
||||||
low_water_mark = len;
|
low_water_mark = 0;
|
||||||
|
|
||||||
if (!dm_tree_node_add_thin_pool_target(node, len,
|
if (!dm_tree_node_add_thin_pool_target(node, len,
|
||||||
seg->transaction_id,
|
seg->transaction_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user