remove patch which modifid cyl-size
(cherry picked from commit 962106340685ed4489341e01db7001dcb2bbdeba)
This commit is contained in:
parent
0852d0e10c
commit
46b3361c31
88
9000-parted-remove-patch-which-modifid-cyl-size.patch
Normal file
88
9000-parted-remove-patch-which-modifid-cyl-size.patch
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
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, §or_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
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
Summary: The GNU disk partition manipulation program
|
Summary: The GNU disk partition manipulation program
|
||||||
Name: parted
|
Name: parted
|
||||||
Version: 3.5
|
Version: 3.5
|
||||||
Release: 1
|
Release: 2
|
||||||
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+
|
||||||
@ -36,6 +36,8 @@ 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
|
||||||
@ -119,6 +121,9 @@ fi
|
|||||||
%{_libdir}/pkgconfig/libparted*.pc
|
%{_libdir}/pkgconfig/libparted*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user