You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.3 KiB
69 lines
2.3 KiB
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
|
|
Date: 2014-08-16
|
|
Initial Package Version: 3.2
|
|
Upstream Status: Unknown
|
|
Origin: Funtoo Linux
|
|
URL: http://data.gpo.zugaina.org/funtoo/sys-block/parted/files/parted-3.2-devmapper.patch
|
|
Description: Parted-3.2 fails to build with --disable-device-mapper
|
|
|
|
|
|
--- a/libparted/arch/linux.c
|
|
+++ b/libparted/arch/linux.c
|
|
@@ -2304,6 +2304,7 @@
|
|
return r < 0 ? NULL : resultp;
|
|
}
|
|
|
|
+#ifdef ENABLE_DEVICE_MAPPER
|
|
static char *
|
|
dm_canonical_path (PedDevice const *dev)
|
|
{
|
|
@@ -2326,12 +2327,22 @@
|
|
err:
|
|
return NULL;
|
|
}
|
|
+#endif /* ENABLE_DEVICE_MAPPER */
|
|
|
|
static char*
|
|
_device_get_part_path (PedDevice const *dev, int num)
|
|
{
|
|
- char *devpath = (dev->type == PED_DEVICE_DM
|
|
- ? dm_canonical_path (dev) : dev->path);
|
|
+ char *devpath =
|
|
+#ifdef ENABLE_DEVICE_MAPPER
|
|
+ (
|
|
+ dev->type == PED_DEVICE_DM
|
|
+ ? dm_canonical_path (dev) :
|
|
+#endif /* ENABLE_DEVICE_MAPPER */
|
|
+ dev->path
|
|
+#ifdef ENABLE_DEVICE_MAPPER
|
|
+ )
|
|
+#endif /* ENABLE_DEVICE_MAPPER */
|
|
+ ;
|
|
size_t path_len = strlen (devpath);
|
|
char *result;
|
|
/* Check for devfs-style /disc => /partN transformation
|
|
@@ -2945,12 +2956,14 @@
|
|
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 /* ENABLE_DEVICE_MAPPER */
|
|
add_partition = _blkpg_add_partition;
|
|
remove_partition = _blkpg_remove_partition;
|
|
#ifdef BLKPG_RESIZE_PARTITION
|
|
@@ -2959,7 +2972,9 @@
|
|
resize_partition = NULL;
|
|
#endif
|
|
get_partition_start_and_length = _kernel_get_partition_start_and_length;
|
|
+#ifdef ENABLE_DEVICE_MAPPER
|
|
}
|
|
+#endif /* ENABLE_DEVICE_MAPPER */
|
|
|
|
/* lpn = largest partition number.
|
|
* for remove pass, use greater of device or label limit */
|
|
|