upgrade to version 3.6

This commit is contained in:
wangzhiqiang 2024-02-26 11:25:34 +08:00
parent ca76a7beaf
commit 6baa6be874
4 changed files with 25 additions and 21 deletions

View File

@ -1,4 +1,4 @@
From 22be792bfd8e4a4da7495ec60084c23dd8a43677 Mon Sep 17 00:00:00 2001 From 7c5b213ab881dbf4a49673908092359f78bc13ce Mon Sep 17 00:00:00 2001
From: huangkaibin <huangkaibin@huawei.com> From: huangkaibin <huangkaibin@huawei.com>
Date: Fri, 25 Jan 2019 19:46:52 +0000 Date: Fri, 25 Jan 2019 19:46:52 +0000
Subject: [PATCH] add-support-of-gpt_sync_mbr Subject: [PATCH] add-support-of-gpt_sync_mbr
@ -13,14 +13,14 @@ This code has been refactored.'boot' is removed.
So we should call ped_partition_get_flag to instead. So we should call ped_partition_get_flag to instead.
Signed-off-by: Hongtao Zhang <zhanghongtao22@huawei.com> Signed-off-by: Hongtao Zhang <zhanghongtao22@huawei.com>
--- ---
libparted/labels/gpt.c | 246 ++++++++++++++++++++++++++++++++++++++++++++++++- libparted/labels/gpt.c | 246 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 242 insertions(+), 4 deletions(-) 1 file changed, 242 insertions(+), 4 deletions(-)
diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
index 4f922b2..b2dad71 100644 index 780fb70..f63d414 100644
--- a/libparted/labels/gpt.c --- a/libparted/labels/gpt.c
+++ b/libparted/labels/gpt.c +++ b/libparted/labels/gpt.c
@@ -306,6 +306,7 @@ typedef struct _GPTPartitionData @@ -364,6 +364,7 @@ typedef struct _GPTPartitionData
} GPTPartitionData; } GPTPartitionData;
static PedDiskType gpt_disk_type; static PedDiskType gpt_disk_type;
@ -28,7 +28,7 @@ index 4f922b2..b2dad71 100644
static inline uint32_t static inline uint32_t
pth_get_size (const PedDevice *dev) pth_get_size (const PedDevice *dev)
@@ -474,8 +475,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr) @@ -530,8 +531,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr)
return 0; return 0;
} }
@ -84,7 +84,7 @@ index 4f922b2..b2dad71 100644
{ {
int gpt_sig_found = 0; int gpt_sig_found = 0;
@@ -509,6 +556,19 @@ gpt_probe (const PedDevice *dev) @@ -565,6 +612,19 @@ gpt_probe (const PedDevice *dev)
return gpt_sig_found; return gpt_sig_found;
} }
@ -104,10 +104,11 @@ index 4f922b2..b2dad71 100644
static PedDisk * static PedDisk *
gpt_alloc (const PedDevice *dev) gpt_alloc (const PedDevice *dev)
{ {
@@ -554,6 +614,36 @@ error: @@ -609,6 +669,36 @@ error:
return NULL;
} }
static PedDisk * +static PedDisk *
+gpt_sync_mbr_alloc (const PedDevice *dev) +gpt_sync_mbr_alloc (const PedDevice *dev)
+{ +{
+ PedDisk *disk; + PedDisk *disk;
@ -137,11 +138,10 @@ index 4f922b2..b2dad71 100644
+ return NULL; + return NULL;
+} +}
+ +
+static PedDisk * static PedDisk *
gpt_duplicate (const PedDisk *disk) gpt_duplicate (const PedDisk *disk)
{ {
PedDisk *new_disk; @@ -983,7 +1073,7 @@ gpt_read (PedDisk *disk)
@@ -967,7 +1057,7 @@ gpt_read (PedDisk *disk)
/* motivation: let the user decide about the pmbr... during /* motivation: let the user decide about the pmbr... during
ped_disk_probe(), they probably didn't get a choice... */ ped_disk_probe(), they probably didn't get a choice... */
@ -150,7 +150,7 @@ index 4f922b2..b2dad71 100644
goto error; goto error;
GuidPartitionTableHeader_t *gpt = NULL; GuidPartitionTableHeader_t *gpt = NULL;
@@ -1124,11 +1214,61 @@ error: @@ -1140,11 +1230,61 @@ error:
return 0; return 0;
} }
@ -213,7 +213,7 @@ index 4f922b2..b2dad71 100644
/* The UEFI spec is not clear about what to do with the following /* The UEFI spec is not clear about what to do with the following
elements of the Protective MBR (pmbr): BootCode (0-440B), elements of the Protective MBR (pmbr): BootCode (0-440B),
UniqueMBRSignature (440B-444B) and Unknown (444B-446B). UniqueMBRSignature (440B-444B) and Unknown (444B-446B).
@@ -1142,6 +1282,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) @@ -1158,6 +1298,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot)
memset (pmbr->PartitionRecord, 0, sizeof pmbr->PartitionRecord); memset (pmbr->PartitionRecord, 0, sizeof pmbr->PartitionRecord);
pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE); pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE);
@ -222,7 +222,7 @@ index 4f922b2..b2dad71 100644
pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI; pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI;
pmbr->PartitionRecord[0].StartSector = 2; pmbr->PartitionRecord[0].StartSector = 2;
pmbr->PartitionRecord[0].EndHead = 0xFF; pmbr->PartitionRecord[0].EndHead = 0xFF;
@@ -1154,6 +1296,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) @@ -1170,6 +1312,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot)
pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (dev->length - 1UL); pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (dev->length - 1UL);
if (pmbr_boot) if (pmbr_boot)
pmbr->PartitionRecord[0].BootIndicator = 0x80; pmbr->PartitionRecord[0].BootIndicator = 0x80;
@ -283,7 +283,7 @@ index 4f922b2..b2dad71 100644
int write_ok = ped_device_write (dev, pmbr, GPT_PMBR_LBA, int write_ok = ped_device_write (dev, pmbr, GPT_PMBR_LBA,
GPT_PMBR_SECTORS); GPT_PMBR_SECTORS);
@@ -1273,7 +1469,7 @@ gpt_write (const PedDisk *disk) @@ -1284,7 +1480,7 @@ gpt_write (const PedDisk *disk)
ptes_crc = efi_crc32 (ptes, ptes_bytes); ptes_crc = efi_crc32 (ptes, ptes_bytes);
/* Write protective MBR */ /* Write protective MBR */
@ -292,7 +292,7 @@ index 4f922b2..b2dad71 100644
goto error_free_ptes; goto error_free_ptes;
/* Write PTH and PTEs */ /* Write PTH and PTEs */
@@ -2070,6 +2266,38 @@ static PedDiskOps gpt_disk_ops = @@ -1916,6 +2112,38 @@ static PedDiskOps gpt_disk_ops =
PT_op_function_initializers (gpt) PT_op_function_initializers (gpt)
}; };
@ -331,8 +331,8 @@ index 4f922b2..b2dad71 100644
static PedDiskType gpt_disk_type = static PedDiskType gpt_disk_type =
{ {
next: NULL, next: NULL,
@@ -2078,16 +2306,26 @@ static PedDiskType gpt_disk_type = @@ -1925,16 +2153,26 @@ static PedDiskType gpt_disk_type =
features: PED_DISK_TYPE_PARTITION_NAME PED_DISK_TYPE_DISK_UUID | PED_DISK_TYPE_PARTITION_UUID
}; };
+static PedDiskType gpt_sync_mbr_disk_type = +static PedDiskType gpt_sync_mbr_disk_type =
@ -359,5 +359,5 @@ index 4f922b2..b2dad71 100644
verify (sizeof (GuidPartitionEntryAttributes_t) == 8); verify (sizeof (GuidPartitionEntryAttributes_t) == 8);
-- --
1.8.3.1 2.33.0

Binary file not shown.

BIN
parted-3.6.tar.xz Normal file

Binary file not shown.

View File

@ -15,8 +15,8 @@
Summary: The GNU disk partition manipulation program Summary: The GNU disk partition manipulation program
Name: parted Name: parted
Version: 3.5 Version: 3.6
Release: 2 Release: 1
URL: https://www.gnu.org/software/parted/ URL: https://www.gnu.org/software/parted/
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
License: GPLv3+ License: GPLv3+
@ -121,6 +121,10 @@ fi
%{_libdir}/pkgconfig/libparted*.pc %{_libdir}/pkgconfig/libparted*.pc
%changelog %changelog
* Mon Feb 26 2024 wangzhiqiang <wangzhiqiang95@huawei.com> - 3.6-1
- update to 3.6
- update version dependency
* Thu Dec 14 2023 lingsheng <lingsheng@xfusion.com> - 3.5-2 * Thu Dec 14 2023 lingsheng <lingsheng@xfusion.com> - 3.5-2
- remove patch which modifid cyl-size - remove patch which modifid cyl-size