- Fix passing size for pvresize over DBus Resolves: RHEL-45872 - Upstream kernel VDO support Resolves: RHEL-31953
66 lines
2.4 KiB
Diff
66 lines
2.4 KiB
Diff
From 7afe64265c9fc6ac67bfc412e43d00e5a21c867a Mon Sep 17 00:00:00 2001
|
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
|
Date: Fri, 22 Mar 2024 14:54:15 +0100
|
|
Subject: [PATCH] lvm-dbus: Fix passing size for pvresize over DBus
|
|
|
|
"u" is UINT32, we need to use "t" for UINT64
|
|
---
|
|
src/plugins/lvm-dbus.c | 2 +-
|
|
tests/lvm_dbus_tests.py | 6 ++++++
|
|
tests/lvm_test.py | 6 ++++++
|
|
3 files changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/plugins/lvm-dbus.c b/src/plugins/lvm-dbus.c
|
|
index 5ecf47f6..ff9eb24b 100644
|
|
--- a/src/plugins/lvm-dbus.c
|
|
+++ b/src/plugins/lvm-dbus.c
|
|
@@ -1776,7 +1776,7 @@ gboolean bd_lvm_pvresize (const gchar *device, guint64 size, const BDExtraArg **
|
|
if (!obj_path)
|
|
return FALSE;
|
|
|
|
- params = g_variant_new ("(u)", size);
|
|
+ params = g_variant_new ("(t)", size);
|
|
return call_lvm_method_sync (obj_path, PV_INTF, "ReSize", params, NULL, extra, TRUE, error);
|
|
}
|
|
|
|
diff --git a/tests/lvm_dbus_tests.py b/tests/lvm_dbus_tests.py
|
|
index 013a29c3..c179a82c 100644
|
|
--- a/tests/lvm_dbus_tests.py
|
|
+++ b/tests/lvm_dbus_tests.py
|
|
@@ -431,9 +431,15 @@ def test_pvresize(self):
|
|
succ = BlockDev.lvm_pvresize(self.loop_dev, 200 * 1024**2, None)
|
|
self.assertTrue(succ)
|
|
|
|
+ info = BlockDev.lvm_pvinfo(self.loop_dev)
|
|
+ self.assertEqual(info.pv_size, 200 * 1024**2)
|
|
+
|
|
succ = BlockDev.lvm_pvresize(self.loop_dev, 200 * 1024**3, None)
|
|
self.assertTrue(succ)
|
|
|
|
+ info = BlockDev.lvm_pvinfo(self.loop_dev)
|
|
+ self.assertEqual(info.pv_size, 200 * 1024**3)
|
|
+
|
|
@unittest.skipUnless(lvm_dbus_running, "LVM DBus not running")
|
|
class LvmTestPVscan(LvmPVonlyTestCase):
|
|
def test_pvscan(self):
|
|
diff --git a/tests/lvm_test.py b/tests/lvm_test.py
|
|
index e7800d8f..261615e9 100644
|
|
--- a/tests/lvm_test.py
|
|
+++ b/tests/lvm_test.py
|
|
@@ -434,9 +434,15 @@ def test_pvresize(self):
|
|
succ = BlockDev.lvm_pvresize(self.loop_dev, 200 * 1024**2, None)
|
|
self.assertTrue(succ)
|
|
|
|
+ info = BlockDev.lvm_pvinfo(self.loop_dev)
|
|
+ self.assertEqual(info.pv_size, 200 * 1024**2)
|
|
+
|
|
succ = BlockDev.lvm_pvresize(self.loop_dev, 200 * 1024**3, None)
|
|
self.assertTrue(succ)
|
|
|
|
+ info = BlockDev.lvm_pvinfo(self.loop_dev)
|
|
+ self.assertEqual(info.pv_size, 200 * 1024**3)
|
|
+
|
|
class LvmTestPVscan(LvmPVonlyTestCase):
|
|
def test_pvscan(self):
|
|
"""Verify that pvscan runs without issues with cache or without"""
|