Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi!
Am 09.10.2017 um 15:35 schrieb Robert Altnoeder <robert.altnoeder at linbit.com>:
>On 10/09/2017 11:04 AM, Roberto Resoli wrote:
>
>> I currently remove snap_percent from used space in "update_pool"
>> function inside
>>
>> /usr/lib/python2.7/dist-packages/drbdmanage/storage/lvm_thinlv.py
>It is quite interesting that you even get any values in this column that
>could then mess up your results.
>I just tested this on three different installations (Debian 8, Ubuntu
>16.04, CentOS 7.3), and none of them even reports any values for the
>snap_percent field, neither for the thinpool nor for any volumes or
>snapshots inside the pool.
>
>We are still trying to figure out what LVM is supposed to report for
>which one of all those values.
We are seeing the same problem here and are applying the patch below
to all of our installations.
Regards
Alex
Patch for: python-drbdmanage 0.99.11-1
Don't add "snap_percent" to "data_percent", the latter already includes the
space occupied by snapshots.
Apply with:
patch -d / -p0 <drbdmanage-lvm_thinlv.patch
References:
- https://forum.proxmox.com/threads/36669
- https://bugzilla.proxmox.com/show_bug.cgi?id=1493#c2
2017-09-20, abarton at thomas-daily.de
--- /usr/lib/python2.7/dist-packages/drbdmanage/storage/lvm_thinlv.py.orig 2017-09-14 16:02:45.000000000 +0200
+++ /usr/lib/python2.7/dist-packages/drbdmanage/storage/lvm_thinlv.py 2017-09-20 17:09:19.189418160 +0200
@@ -235,7 +235,7 @@
self._cmd_lvs, "--noheadings", "--nosuffix",
"--units", "k", "--separator", ",",
"--options",
- "size,data_percent,snap_percent",
+ "size,data_percent",
self._conf[consts.KEY_VG_NAME] + "/" +
self._conf[LvmThinLv.KEY_POOL_NAME]
]
@@ -249,7 +249,7 @@
if len(pool_data) > 0:
pool_data.strip()
try:
- size_data, data_part, snap_part = (
+ size_data, data_part = (
pool_data.split(",")
)
size_data = self.discard_fraction(size_data)
@@ -263,21 +263,10 @@
except ValueError:
pass
- # Snapshots percentage
- snap_perc = float(0)
- if len(snap_part) > 0:
- try:
- snap_perc = float(snap_part) / 100
- except ValueError:
- pass
-
# Calculate the amount of occupied space
data_used = data_perc * space_size
- snap_used = snap_perc * space_size
-
- space_used = data_used + snap_used
- space_free = int(space_size - space_used)
+ space_free = int(space_size - data_used)
if space_free < 0:
space_free = 0