a19a3f
From 34bf5d61e5ea1bd9450db6197fc9791a8e7aa8da Mon Sep 17 00:00:00 2001
a19a3f
From: Marius Vollmer <mvollmer@redhat.com>
a19a3f
Date: Wed, 13 Dec 2017 15:28:23 +0200
a19a3f
Subject: [PATCH] lvm2: Don't match prefixes in cmp_int_lv_name
a19a3f
a19a3f
Once the whole internal name has matched, the other name must also be
a19a3f
at the end.  Otherwise we might find "lvol0" when looking for
a19a3f
"lvol0_meta", for example.
a19a3f
a19a3f
The symptom is that the size of a pool is reported as twice its data
a19a3f
size, instead of data plus metadata size, which funnily is exactly the
a19a3f
same symptom fixed by 043edcb.  Deja vu...
a19a3f
a19a3f
(cherry picked from commit 821bc20911e9a446b943cf40abe0e8a8132bf418)
a19a3f
---
a19a3f
 modules/lvm2/udiskslinuxvolumegroupobject.c | 2 +-
a19a3f
 1 file changed, 1 insertion(+), 1 deletion(-)
a19a3f
a19a3f
diff --git a/modules/lvm2/udiskslinuxvolumegroupobject.c b/modules/lvm2/udiskslinuxvolumegroupobject.c
a19a3f
index 617af04..3f622a6 100644
a19a3f
--- a/modules/lvm2/udiskslinuxvolumegroupobject.c
a19a3f
+++ b/modules/lvm2/udiskslinuxvolumegroupobject.c
a19a3f
@@ -530,7 +530,7 @@ cmp_int_lv_name (const gchar *int_lv_name, const gchar *lv_name)
a19a3f
 
a19a3f
   if (*c == ']')
a19a3f
     c++;
a19a3f
-  if (*c == '\0')
a19a3f
+  if (*c == '\0' && lv_name[c - int_lv_name] == '\0')
a19a3f
     return TRUE;
a19a3f
 
a19a3f
   return FALSE;
a19a3f
-- 
a19a3f
1.8.3.1
a19a3f