summaryrefslogtreecommitdiffstats
path: root/main/udisks/lvm.patch
blob: 52d417d7562f710f09987681f681ef98357b7308 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
From 2b2fcf80841972b70ad695a5a1ed74487d4fd37a Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz@redhat.com>
Date: Wed, 19 May 2010 17:01:31 +0000
Subject: Update to latest LVM2 API

See

 http://lists.freedesktop.org/archives/devkit-devel/2010-April/000783.html
---
diff --git a/configure.ac b/configure.ac
index 469be5f..a9141bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,7 +170,7 @@ AC_SUBST(DEVMAPPER_LIBS)
 have_lvm2=no
 AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--disable-lvm2], [disable LVM2 support]))
 if test "x$enable_lvm2" != "xno"; then
-  PKG_CHECK_MODULES(LVM2, lvm2app >= 2.1,
+  PKG_CHECK_MODULES(LVM2, lvm2app >= 2.2,
                     [AC_DEFINE(HAVE_LVM2, 1, [Define if LVM2 is available]) have_lvm2=yes],
                     have_lvm2=no)
   AC_SUBST(LVM2_CFLAGS)
diff --git a/src/probers/udisks-lvm-pv-export.c b/src/probers/udisks-lvm-pv-export.c
index 5675fb8..ee6d8ed 100644
--- a/src/probers/udisks-lvm-pv-export.c
+++ b/src/probers/udisks-lvm-pv-export.c
@@ -47,7 +47,7 @@ find_vg_for_pv_uuid (lvm_t        lvm_ctx,
               struct lvm_pv_list *pv_list;
               dm_list_iterate_items (pv_list, pvs)
                 {
-                  char *uuid;
+                  const char *uuid;
                   pv_t pv = pv_list->pv;
 
                   uuid = lvm_pv_get_uuid (pv);
@@ -58,10 +58,8 @@ find_vg_for_pv_uuid (lvm_t        lvm_ctx,
                           if (out_pv != NULL)
                             *out_pv = pv;
                           ret = vg;
-                          dm_free (uuid);
                           goto out;
                         }
-                      dm_free (uuid);
                     }
                 }
             }
@@ -79,12 +77,12 @@ find_vg_for_pv_uuid (lvm_t        lvm_ctx,
 static void
 print_vg (vg_t vg)
 {
-  char *s;
+  const char *s;
   struct dm_list *pvs;
   struct dm_list *lvs;
 
-  s = lvm_vg_get_uuid (vg); g_print ("UDISKS_LVM2_PV_VG_UUID=%s\n", s); dm_free (s);
-  s = lvm_vg_get_name (vg); g_print ("UDISKS_LVM2_PV_VG_NAME=%s\n", s); dm_free (s);
+  s = lvm_vg_get_uuid (vg); g_print ("UDISKS_LVM2_PV_VG_UUID=%s\n", s);
+  s = lvm_vg_get_name (vg); g_print ("UDISKS_LVM2_PV_VG_NAME=%s\n", s);
   g_print ("UDISKS_LVM2_PV_VG_SIZE=%" G_GUINT64_FORMAT "\n", lvm_vg_get_size (vg));
   g_print ("UDISKS_LVM2_PV_VG_FREE_SIZE=%" G_GUINT64_FORMAT "\n", lvm_vg_get_free_size (vg));
   g_print ("UDISKS_LVM2_PV_VG_EXTENT_SIZE=%" G_GUINT64_FORMAT "\n", lvm_vg_get_extent_size (vg));
@@ -117,17 +115,14 @@ print_vg (vg_t vg)
       str = g_string_new (NULL);
       dm_list_iterate_items (pv_list, pvs)
         {
-          char *uuid;
+          const char *uuid;
           guint64 size;
           guint64 free_size;
           pv_t pv = pv_list->pv;
 
           uuid = lvm_pv_get_uuid (pv);
           if (uuid != NULL)
-            {
-              g_string_append_printf (str, "uuid=%s", uuid);
-              dm_free (uuid);
-            }
+            g_string_append_printf (str, "uuid=%s", uuid);
           size = lvm_pv_get_size (pv);
           g_string_append_printf (str, ";size=%" G_GUINT64_FORMAT, size);
           free_size = lvm_pv_get_free (pv);
@@ -173,8 +168,8 @@ print_vg (vg_t vg)
       str = g_string_new (NULL);
       dm_list_iterate_items (lv_list, lvs)
         {
-          char *uuid;
-          char *name;
+          const char *uuid;
+          const char *name;
           gboolean is_active;
           guint64 size;
           lv_t lv = lv_list->lv;
@@ -195,11 +190,6 @@ print_vg (vg_t vg)
               g_string_append_printf (str, "active=%d", is_active);
               g_string_append_c (str, ' ');
             }
-
-          if (uuid != NULL)
-            dm_free (uuid);
-          if (name != NULL)
-            dm_free (name);
         }
       g_print ("UDISKS_LVM2_PV_VG_LV_LIST=%s\n", str->str);
       g_string_free (str, TRUE);
@@ -212,9 +202,9 @@ print_vg (vg_t vg)
 static void
 print_pv (pv_t pv)
 {
-  char *s;
+  const char *s;
 
-  s = lvm_pv_get_uuid (pv); g_print ("UDISKS_LVM2_PV_UUID=%s\n", s); dm_free (s);
+  s = lvm_pv_get_uuid (pv); g_print ("UDISKS_LVM2_PV_UUID=%s\n", s);
   g_print ("UDISKS_LVM2_PV_NUM_MDA=%" G_GUINT64_FORMAT "\n", lvm_pv_get_mda_count (pv));
 
   /* TODO: ask for more API in liblvm - pvdisplay(8) suggests more information
--
cgit v0.8.3-6-g21f6