[parted-devel] [PATCH 1/2] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER

Felix Janda felix.janda at posteo.de
Sun May 3 08:33:15 UTC 2015


---
 libparted/arch/linux.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 90ab21d..ae6221e 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2304,6 +2304,7 @@ zasprintf (const char *format, ...)
   return r < 0 ? NULL : resultp;
 }
 
+#ifdef ENABLE_DEVICE_MAPPER
 static char *
 dm_canonical_path (PedDevice const *dev)
 {
@@ -2326,14 +2327,21 @@ dm_canonical_path (PedDevice const *dev)
 err:
         return NULL;
 }
+#endif
 
 static char*
 _device_get_part_path (PedDevice const *dev, int num)
 {
-        char *devpath = (dev->type == PED_DEVICE_DM
-                         ? dm_canonical_path (dev) : dev->path);
-        size_t path_len = strlen (devpath);
+        char *devpath;
+        size_t path_len;
         char *result;
+#ifdef ENABLE_DEVICE_MAPPER
+        devpath = (dev->type == PED_DEVICE_DM
+                         ? dm_canonical_path (dev) : dev->path);
+#else
+	devpath = dev->path;
+#endif
+        path_len = strlen (devpath);
         /* Check for devfs-style /disc => /partN transformation
            unconditionally; the system might be using udev with devfs rules,
            and if not the test is harmless. */
@@ -2349,8 +2357,10 @@ _device_get_part_path (PedDevice const *dev, int num)
                                  ? "p" : "");
                 result = zasprintf ("%s%s%d", devpath, p, num);
         }
+#ifdef ENABLE_DEVICE_MAPPER
         if (dev->type == PED_DEVICE_DM)
                 free (devpath);
+#endif
         return result;
 }
 
@@ -2958,12 +2968,15 @@ _disk_sync_part_table (PedDisk* disk)
                                                unsigned long long *length);
 
 
+#ifdef ENABLE_DEVICE_MAPPER
         if (disk->dev->type == PED_DEVICE_DM) {
                 add_partition = _dm_add_partition;
                 remove_partition = _dm_remove_partition;
                 resize_partition = _dm_resize_partition;
                 get_partition_start_and_length = _dm_get_partition_start_and_length;
-        } else {
+        } else
+#endif
+        {
                 add_partition = _blkpg_add_partition;
                 remove_partition = _blkpg_remove_partition;
 #ifdef BLKPG_RESIZE_PARTITION
-- 
2.3.6




More information about the parted-devel mailing list