parted/libparted-partition-naming.patch

66 lines
2.9 KiB
Diff
Raw Normal View History

From: Petr Uzel <petr.uzel@suse.cz>
Subject: libparted: Change partition naming for SUSE needs
References: bsc#1056508
Patch-mainline: no, custom SUSE patch
Device mapper partitions always use the suffix "-part%d" for
partition names. Other devices with a trailing number in their
name use the "p%d" suffix. All other devices use the "%d" suffix.
YaST depends on this.
[mwilck: Fixed dm part name in _dm_add_partition(), bsc#1056508]
[sparschauer: Fixed dm part name in _dm_resize_partition(), bsc#1056508]
[sparschauer: Wrote the patch description]
[sparschauer: Dropped "_part" suffix, bsc#1078820, bsc#1081547]
Signed-off-by: Sebastian Parschauer <sparschauer@suse.de>
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
---
libparted/arch/linux.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 0f18904..cad5159 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2342,11 +2342,17 @@ _device_get_part_path (PedDevice const *dev, int num)
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
result = zasprintf ("%.*s/part%d",
(int) (path_len - 5), devpath, num);
} else {
- char const *p = (dev->type == PED_DEVICE_DAC960
- || dev->type == PED_DEVICE_CPQARRAY
- || dev->type == PED_DEVICE_ATARAID
- || isdigit (devpath[path_len - 1])
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
- ? "p" : "");
+ const char *p;
+ if (dev->type == PED_DEVICE_ATARAID ||
+ dev->type == PED_DEVICE_CPQARRAY ||
+ dev->type == PED_DEVICE_DAC960 ||
+ dev->type == PED_DEVICE_SDMMC)
+ p = "p";
+ else if (dev->type == PED_DEVICE_DM)
+ p = "-part";
+ else
+ p = (isdigit (devpath[path_len - 1])
+ ? "p" : "");
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
result = zasprintf ("%s%s%d", devpath, p, num);
}
if (dev->type == PED_DEVICE_DM)
@@ -2797,7 +2803,7 @@ _dm_add_partition (PedDisk* disk, const PedPartition* part)
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
size_t name_len = strlen (dev_name);
vol_name = zasprintf ("%s%s%d",
dev_name,
- isdigit (dev_name[name_len - 1]) ? "p" : "",
+ "-part",
part->num);
if (vol_name == NULL)
goto err;
@@ -2870,7 +2876,7 @@ _dm_resize_partition (PedDisk* disk, const PedPartition* part)
size_t name_len = strlen (dev_name);
vol_name = zasprintf ("%s%s%d",
dev_name,
- isdigit (dev_name[name_len - 1]) ? "p" : "",
+ "-part",
Accepting request 303792 from home:puzel:branches:Base:System - Update to parted-3.2; Notable changes: - Added new partition type flag, esp, to set the type to 0xEF on MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID. - You can now choose to ignore errors about partitions that overlap, or are longer than the disk. This allows you to use parted to repair the problem. - When attempting to manipulate a mounted partition, parted now issues a warning that you can choose to ignore, instead of an error. - When creating a loop label, it automatically comes with a partition using the whole disk. - parted -l no longer lists device-mapper devices other than dmraid whole disks. - Added new Linux-specific partition GUID type code (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem data on GPT disks. This type code is now assigned as the default partition type code for new partitions holding Linux filesystems. - Added new "msftdata" flag to identify partitions holding NTFS or FAT filesystems on GPT disks. This flag corresponds to a GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ("Microsoft Basic Data"). Since Linux filesystem partitions formerly used this type code, this flag may optionally be set on Linux partitions to make the partition table type codes match former configurations in case the new Linux filesystem type code causes problems with some utility. Note that this flag cannot be removed from NTFS or FAT partitions within parted except by setting a competing flag, such as "boot" (which sets the type code used by EFI System partitions) or "msftres" (which sets the "Microsoft Reserved" type code). OBS-URL: https://build.opensuse.org/request/show/303792 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=109
2015-04-24 17:49:30 +02:00
part->num);
if (vol_name == NULL)
goto err;