libblockdev/vgreduce_null_pv.patch

44 lines
1.4 KiB
Diff
Raw Normal View History

From 8ee82578de78dceaa1bdeb3e757a84ca527df065 Mon Sep 17 00:00:00 2001
From: Vratislav Podzimek <vpodzime@redhat.com>
Date: Wed, 9 Mar 2016 10:33:47 +0100
Subject: [PATCH] Do not try to get object path of NULL in vgreduce
If no PV is given, we shouldn't try to get its object path.
Signed-off-by: Vratislav Podzimek <vpodzime@redhat.com>
---
src/plugins/lvm-dbus.c | 10 ++++++----
tests/lvm_dbus_tests.py | 4 ++++
tests/lvm_test.py | 4 ++++
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/plugins/lvm-dbus.c b/src/plugins/lvm-dbus.c
index a8e5231..a508b3f 100644
--- a/src/plugins/lvm-dbus.c
+++ b/src/plugins/lvm-dbus.c
@@ -1364,14 +1364,16 @@ gboolean bd_lvm_vgreduce (gchar *vg_name, gchar *device, GError **error) {
GVariant *params = NULL;
GVariant *extra = NULL;
- pv = get_object_path (device, error);
- if (!pv)
- return FALSE;
+ if (device) {
+ pv = get_object_path (device, error);
+ if (!pv)
+ return FALSE;
+ }
- pv_var = g_variant_new ("o", pv);
g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE);
if (device) {
/* do not remove missing */
+ pv_var = g_variant_new ("o", pv);
g_variant_builder_add_value (&builder, g_variant_new_boolean (FALSE));
g_variant_builder_add_value (&builder, g_variant_new_array (NULL, &pv_var, 1));
params = g_variant_builder_end (&builder);
--
2.5.0