psss / rpms / libguestfs

Forked from rpms/libguestfs 5 years ago
Clone
ee9d9e3
From aa1ffc6d2bab0d3b0b9f71987e74dea6803f4bb7 Mon Sep 17 00:00:00 2001
ee9d9e3
From: "Richard W.M. Jones" <rjones@redhat.com>
ee9d9e3
Date: Fri, 12 Feb 2016 13:41:26 +0000
ee9d9e3
Subject: [PATCH 2/2] daemon: lvm: Ignore LVs with the activationskip flag set
ee9d9e3
 (RHBZ#1306666).
ee9d9e3
ee9d9e3
When listing logical volumes, ignore the ones which don't get
ee9d9e3
activated automatically.  No /dev/VG/LV device node is created for
ee9d9e3
these ones which confuses APIs that attempt to do 'guestfs_lvs'
ee9d9e3
followed by opening the device node.  Note that 'guestfs_lvs_full' is
ee9d9e3
unaffected by this change.
ee9d9e3
ee9d9e3
(cherry picked from commit 2e16e3e99324112845446c82b6a6e8b3e652e10d)
ee9d9e3
---
ee9d9e3
 daemon/lvm.c | 6 +++++-
ee9d9e3
 1 file changed, 5 insertions(+), 1 deletion(-)
ee9d9e3
ee9d9e3
diff --git a/daemon/lvm.c b/daemon/lvm.c
ee9d9e3
index 501c967..83cc6f8 100644
ee9d9e3
--- a/daemon/lvm.c
ee9d9e3
+++ b/daemon/lvm.c
ee9d9e3
@@ -157,6 +157,10 @@ filter_convert_old_lvs_output (char *out)
ee9d9e3
     if (lv_attr[0] == 't')
ee9d9e3
       goto skip_line;
ee9d9e3
 
ee9d9e3
+    /* Ignore activationskip (RHBZ#1306666). */
ee9d9e3
+    if (strlen (lv_attr) >= 10 && lv_attr[9] == 'k')
ee9d9e3
+      goto skip_line;
ee9d9e3
+
ee9d9e3
     /* Ignore "unknown device" message (RHBZ#1054761). */
ee9d9e3
     if (STRNEQ (p, "unknown device")) {
ee9d9e3
       char buf[256];
ee9d9e3
@@ -260,7 +264,7 @@ do_lvs (void)
ee9d9e3
     r = command (&out, &err,
ee9d9e3
                  str_lvm, "lvs",
ee9d9e3
                  "-o", "vg_name,lv_name",
ee9d9e3
-                 "-S", "lv_role=public",
ee9d9e3
+                 "-S", "lv_role=public && lv_active=active",
ee9d9e3
                  "--noheadings",
ee9d9e3
                  "--separator", "/", NULL);
ee9d9e3
     if (r == -1) {
ee9d9e3
-- 
ee9d9e3
2.5.0
ee9d9e3