location, which prevents it from adjusting partition/start end. (bnc#880369) - libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=99
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From 01900e056ec250836d15b5f5c3f59a8e1454b781 Mon Sep 17 00:00:00 2001
|
|
From: Phillip Susi <psusi@ubuntu.com>
|
|
Date: Mon, 4 Nov 2013 13:10:09 -0500
|
|
Subject: [PATCH] libparted: make sure not to treat percentages as exact
|
|
|
|
If 1% of the drive size worked out ot be an even power of
|
|
two, it would trigger the exact placement. Add an exception
|
|
for the percent units.
|
|
|
|
Petr Uzel <puzel@suse.cz>:
|
|
Also avoid this logic when the unit is specified as cylinders.
|
|
|
|
---
|
|
libparted/unit.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
Index: parted-3.1/libparted/unit.c
|
|
===================================================================
|
|
--- parted-3.1.orig/libparted/unit.c
|
|
+++ parted-3.1/libparted/unit.c
|
|
@@ -551,7 +551,9 @@ ped_unit_parse_custom (const char* str,
|
|
do not use 4MiB as the range. Rather, presume that they
|
|
are specifying precisely the starting or ending number,
|
|
and treat "4MiB" just as we would treat "4194304B". */
|
|
- if (is_power_of_2 (unit_size))
|
|
+ if (is_power_of_2 (unit_size) &&
|
|
+ unit != PED_UNIT_PERCENT &&
|
|
+ unit != PED_UNIT_CYLINDER)
|
|
radius = 0;
|
|
|
|
*sector = num * unit_size / dev->sector_size;
|