Hi!

Am 09.10.2017 um 15:35 schrieb Robert Altnoeder <[email protected]>:

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, [email protected]

--- /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
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user

Reply via email to