--- parted-3.2/libparted/arch/linux.c.device-mapper 2014-06-15 20:15:54.000000000 +0100 +++ parted-3.2/libparted/arch/linux.c 2014-07-29 22:27:54.487430030 +0100 @@ -2307,6 +2307,7 @@ zasprintf (const char *format, ...) static char * dm_canonical_path (PedDevice const *dev) { +#ifdef ENABLE_DEVICE_MAPPER LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev); /* Get map name from devicemapper */ @@ -2324,6 +2325,7 @@ dm_canonical_path (PedDevice const *dev) dm_task_destroy (task); return dev_name; err: +#endif return NULL; } @@ -2944,13 +2946,14 @@ _disk_sync_part_table (PedDisk* disk) unsigned long long *start, 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 { +#endif add_partition = _blkpg_add_partition; remove_partition = _blkpg_remove_partition; #ifdef BLKPG_RESIZE_PARTITION @@ -2959,7 +2962,9 @@ _disk_sync_part_table (PedDisk* disk) resize_partition = NULL; #endif get_partition_start_and_length = _kernel_get_partition_start_and_length; +#ifdef ENABLE_DEVICE_MAPPER } +#endif /* lpn = largest partition number. * for remove pass, use greater of device or label limit */