Compare commits

..

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
17d3376985
!43 [sync] PR-42: update to 3.5
From: @openeuler-sync-bot 
Reviewed-by: @liuzhiqiang26 
Signed-off-by: @liuzhiqiang26
2022-10-31 07:54:59 +00:00
Zht-Try
d56f30b39c Update to 3.5
(cherry picked from commit c51f5c7d6f)
2022-10-31 15:15:19 +08:00
openeuler-ci-bot
745fc4fa9d
!41 [sync] PR-37: fix memory leak in libparted
From: @openeuler-sync-bot 
Reviewed-by: @liuzhiqiang26 
Signed-off-by: @liuzhiqiang26
2022-05-31 08:55:21 +00:00
Li Jinlin
6c7e993f80 fix memory leak in libparted
(cherry picked from commit 73ce41b454)
2022-05-31 16:30:26 +08:00
openeuler-ci-bot
679e70d0cf
!32 [sync] PR-30: add need root for build
From: @openeuler-sync-bot 
Reviewed-by: @liuzhiqiang26 
Signed-off-by: @liuzhiqiang26
2022-03-03 04:09:41 +00:00
Li Jinlin
31d24d9fc9 add need root for build
(cherry picked from commit 908f37a974)
2022-03-03 11:53:16 +08:00
openeuler-ci-bot
7b6c9f66e5 !28 parted: 修复编译错误
Merge pull request !28 from Chenxi Mao/openEuler-22.03-LTS-Next
2021-12-22 07:29:13 +00:00
Chenxi Mao
295e6f838f parted: fix build error on SUSE Euler 2.0
Below build log showed if OBS based on newer OE 22.03 OS.
configure.ac:149:   'automake --add-missing' can install 'compile'

To fix this error, add "-i" option to autoreconfig to copy missing
files.

After this change, aarch64 and x86 can build successfully.

Change-Id: Ic6f653fabcc6b1e562e1f4db2d2654e17aeddeb8
Signed-off-by: Chenxi Mao <chenxi.mao@suse.com>
2021-12-22 10:48:17 +08:00
openeuler-ci-bot
132bd91730 !27 [sync] PR-26: update to 3.4
From: @openeuler-sync-bot
Reviewed-by: @liuzhiqiang26
Signed-off-by: @liuzhiqiang26
2021-11-30 03:53:33 +00:00
markeryang
5675b6d028 update to 3.4
(cherry picked from commit 11f8a62952)
2021-11-30 11:40:56 +08:00
5 changed files with 20 additions and 117 deletions

View File

@ -1,4 +1,4 @@
From 7c5b213ab881dbf4a49673908092359f78bc13ce Mon Sep 17 00:00:00 2001 From 22be792bfd8e4a4da7495ec60084c23dd8a43677 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 780fb70..f63d414 100644 index 4f922b2..b2dad71 100644
--- a/libparted/labels/gpt.c --- a/libparted/labels/gpt.c
+++ b/libparted/labels/gpt.c +++ b/libparted/labels/gpt.c
@@ -364,6 +364,7 @@ typedef struct _GPTPartitionData @@ -306,6 +306,7 @@ typedef struct _GPTPartitionData
} GPTPartitionData; } GPTPartitionData;
static PedDiskType gpt_disk_type; static PedDiskType gpt_disk_type;
@ -28,7 +28,7 @@ index 780fb70..f63d414 100644
static inline uint32_t static inline uint32_t
pth_get_size (const PedDevice *dev) pth_get_size (const PedDevice *dev)
@@ -530,8 +531,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr) @@ -474,8 +475,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr)
return 0; return 0;
} }
@ -84,7 +84,7 @@ index 780fb70..f63d414 100644
{ {
int gpt_sig_found = 0; int gpt_sig_found = 0;
@@ -565,6 +612,19 @@ gpt_probe (const PedDevice *dev) @@ -509,6 +556,19 @@ gpt_probe (const PedDevice *dev)
return gpt_sig_found; return gpt_sig_found;
} }
@ -104,11 +104,10 @@ index 780fb70..f63d414 100644
static PedDisk * static PedDisk *
gpt_alloc (const PedDevice *dev) gpt_alloc (const PedDevice *dev)
{ {
@@ -609,6 +669,36 @@ error: @@ -554,6 +614,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;
@ -138,10 +137,11 @@ index 780fb70..f63d414 100644
+ return NULL; + return NULL;
+} +}
+ +
static PedDisk * +static PedDisk *
gpt_duplicate (const PedDisk *disk) gpt_duplicate (const PedDisk *disk)
{ {
@@ -983,7 +1073,7 @@ gpt_read (PedDisk *disk) PedDisk *new_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 780fb70..f63d414 100644
goto error; goto error;
GuidPartitionTableHeader_t *gpt = NULL; GuidPartitionTableHeader_t *gpt = NULL;
@@ -1140,11 +1230,61 @@ error: @@ -1124,11 +1214,61 @@ error:
return 0; return 0;
} }
@ -213,7 +213,7 @@ index 780fb70..f63d414 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).
@@ -1158,6 +1298,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) @@ -1142,6 +1282,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 780fb70..f63d414 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;
@@ -1170,6 +1312,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) @@ -1154,6 +1296,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 780fb70..f63d414 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);
@@ -1284,7 +1480,7 @@ gpt_write (const PedDisk *disk) @@ -1273,7 +1469,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 780fb70..f63d414 100644
goto error_free_ptes; goto error_free_ptes;
/* Write PTH and PTEs */ /* Write PTH and PTEs */
@@ -1916,6 +2112,38 @@ static PedDiskOps gpt_disk_ops = @@ -2070,6 +2266,38 @@ static PedDiskOps gpt_disk_ops =
PT_op_function_initializers (gpt) PT_op_function_initializers (gpt)
}; };
@ -331,8 +331,8 @@ index 780fb70..f63d414 100644
static PedDiskType gpt_disk_type = static PedDiskType gpt_disk_type =
{ {
next: NULL, next: NULL,
@@ -1925,16 +2153,26 @@ static PedDiskType gpt_disk_type = @@ -2078,16 +2306,26 @@ static PedDiskType gpt_disk_type =
PED_DISK_TYPE_DISK_UUID | PED_DISK_TYPE_PARTITION_UUID features: PED_DISK_TYPE_PARTITION_NAME
}; };
+static PedDiskType gpt_sync_mbr_disk_type = +static PedDiskType gpt_sync_mbr_disk_type =
@ -359,5 +359,5 @@ index 780fb70..f63d414 100644
verify (sizeof (GuidPartitionEntryAttributes_t) == 8); verify (sizeof (GuidPartitionEntryAttributes_t) == 8);
-- --
2.33.0 1.8.3.1

View File

@ -1,88 +0,0 @@
From bfce75fd13dd72c6300f0ac3d739e40df90f7dce Mon Sep 17 00:00:00 2001
From: lixiaokeng <lixiaokeng@huawei.com>
Date: Sun, 7 Jun 2020 15:18:00 +0000
Subject: [PATCH] parted: remove patch which modified cyl size
The cyl size was changed which leaded to "parted /dev/sdb -s mkpart primary 0cyl 128cyl"
could not perform as expected. Remove the patch "Use BLKSSZGET to get device sector size
in _device_probe_geometry()".
Signed-off-by:lixiaokeng<lixiaokeng@huawei.com>
---
linux.c | 52 ++++++++++++++++++----------------------------------
1 file changed, 18 insertions(+), 34 deletions(-)
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 37cf555..0d8149d 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -868,7 +868,6 @@ _device_probe_geometry (PedDevice* dev)
struct stat dev_stat;
struct hd_geometry geometry;
int geometry_is_valid = 0;
- int sector_size = 0;
if (!_device_stat (dev, &dev_stat))
return 0;
@@ -880,41 +879,26 @@ _device_probe_geometry (PedDevice* dev)
if (!dev->length)
return 0;
- /* initialize the bios_geom values to something */
- dev->bios_geom.sectors = 0;
- dev->bios_geom.heads = 0;
- dev->bios_geom.cylinders = 0;
-
- geometry_is_valid = !ioctl (arch_specific->fd, HDIO_GETGEO, &geometry)
- && geometry.sectors && geometry.heads;
-
-#if defined __s390__ || defined __s390x__
- if (geometry_is_valid) {
-#else
- if (!ioctl (arch_specific->fd, BLKSSZGET, &sector_size)) {
- /* get the sector count first */
- dev->bios_geom.sectors = 1 + (sector_size / PED_SECTOR_SIZE_DEFAULT);
- dev->bios_geom.heads = 255;
- } else if (geometry_is_valid) {
- /* if BLKSSZGET failed, use deprecated HDIO_GETGEO result */
-#endif
- dev->bios_geom.sectors = geometry.sectors;
- dev->bios_geom.heads = geometry.heads;
+ /* The GETGEO ioctl is no longer useful (as of linux 2.6.x). We could
+ * still use it in 2.4.x, but this is contentious. Perhaps we should
+ * move to EDD. */
+ dev->bios_geom.sectors = 63;
+ dev->bios_geom.heads = 255;
+ dev->bios_geom.cylinders
+ = dev->length / (63 * 255);
+
+ /* FIXME: what should we put here? (TODO: discuss on linux-kernel) */
+ if (!ioctl (arch_specific->fd, HDIO_GETGEO, &geometry)
+ && geometry.sectors && geometry.heads) {
+ dev->hw_geom.sectors = geometry.sectors;
+ dev->hw_geom.heads = geometry.heads;
+ dev->hw_geom.cylinders
+ = dev->length / (dev->hw_geom.heads
+ * dev->hw_geom.sectors);
} else {
- ped_exception_throw (
- PED_EXCEPTION_WARNING,
- PED_EXCEPTION_OK,
- _("Could not determine sector size for %s: %s.\n"
- "Using the default sector size (%lld)."),
- dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT);
- dev->bios_geom.sectors = 2;
- dev->bios_geom.heads = 255;
+ dev->hw_geom = dev->bios_geom;
}
- dev->bios_geom.cylinders
- = dev->length / (dev->bios_geom.heads
- * dev->bios_geom.sectors);
- dev->hw_geom = dev->bios_geom;
return 1;
}
--
1.8.3.1

BIN
parted-3.5.tar.xz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@
Summary: The GNU disk partition manipulation program Summary: The GNU disk partition manipulation program
Name: parted Name: parted
Version: 3.6 Version: 3.5
Release: 1 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
@ -36,8 +36,6 @@ Patch7: 0007-fat_op_context_new-free-ctx-remap-and-goto-correct-l.patch
Patch8: 0008-hfsplus_cache_from_extent-fix-memleak.patch Patch8: 0008-hfsplus_cache_from_extent-fix-memleak.patch
Patch9: 0009-fat_clobber-set-boot_sector-NULL-and-free-boot_secto.patch Patch9: 0009-fat_clobber-set-boot_sector-NULL-and-free-boot_secto.patch
Patch9000: 9000-parted-remove-patch-which-modifid-cyl-size.patch
%description %description
The GNU Parted program allows you to create, destroy, resize, move, The GNU Parted program allows you to create, destroy, resize, move,
and copy hard disk partitions. Parted can be used for creating space and copy hard disk partitions. Parted can be used for creating space
@ -121,13 +119,6 @@ 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
- remove patch which modifid cyl-size
* Wed Oct 26 2022 Hongtao Zhang <zhanghongtao22@huawei.com> - 3.5-1 * Wed Oct 26 2022 Hongtao Zhang <zhanghongtao22@huawei.com> - 3.5-1
- update to 3.5 - update to 3.5