Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>

From da3f129710929abe9a403901fa7d168355b0e95a Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sun, 3 May 2015 10:33:15 +0200
Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER

Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
 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 a15854f..7f12f58 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2305,6 +2305,7 @@ zasprintf (const char *format, ...)
   return r < 0 ? NULL : resultp;
 }
 
+#ifdef ENABLE_DEVICE_MAPPER
 static char *
 dm_canonical_path (PedDevice const *dev)
 {
@@ -2327,14 +2328,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. */
@@ -2350,8 +2358,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;
 }
 
@@ -2946,12 +2956,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.11.0

