- tests: Make sure the extended partition length is 2 (#1135493)
- libparted: BLKPG_RESIZE_PARTITION uses bytes not sectors (#1135493)
This commit is contained in:
parent
123da5f5e2
commit
441cefc372
@ -0,0 +1,76 @@
|
|||||||
|
From 8b23531d1432c7ca0918c2a1c5a7f00ca881968c Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Brian C. Lane" <bcl@redhat.com>
|
||||||
|
Date: Fri, 5 Jun 2015 13:46:29 -0700
|
||||||
|
Subject: [PATCH 12/13] tests: Make sure the extended partition length is 2
|
||||||
|
(#1135493)
|
||||||
|
|
||||||
|
parted tells the kernel the wrong length when reporting a resize of an
|
||||||
|
extended partition.
|
||||||
|
---
|
||||||
|
tests/Makefile.am | 1 +
|
||||||
|
tests/t2320-dos-extended-noclobber.sh | 41 +++++++++++++++++++++++++++++++++++
|
||||||
|
2 files changed, 42 insertions(+)
|
||||||
|
create mode 100644 tests/t2320-dos-extended-noclobber.sh
|
||||||
|
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index ce8391d..001b9de 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -47,6 +47,7 @@ TESTS = \
|
||||||
|
t2201-pc98-label-recog.sh \
|
||||||
|
t2300-dos-label-extended-bootcode.sh \
|
||||||
|
t2310-dos-extended-2-sector-min-offset.sh \
|
||||||
|
+ t2320-dos-extended-noclobber.sh \
|
||||||
|
t2400-dos-hfs-partition-type.sh \
|
||||||
|
t2500-probe-corrupt-hfs.sh \
|
||||||
|
t3000-resize-fs.sh \
|
||||||
|
diff --git a/tests/t2320-dos-extended-noclobber.sh b/tests/t2320-dos-extended-noclobber.sh
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1a4638a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/t2320-dos-extended-noclobber.sh
|
||||||
|
@@ -0,0 +1,41 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# Ensure that the extended partition reports the correct length
|
||||||
|
+# after adding another partition.
|
||||||
|
+
|
||||||
|
+# Copyright (C) 2015 Free Software Foundation, Inc.
|
||||||
|
+
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
+
|
||||||
|
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
|
||||||
|
+
|
||||||
|
+require_root_
|
||||||
|
+require_scsi_debug_module_
|
||||||
|
+
|
||||||
|
+# create memory-backed device
|
||||||
|
+ss=$sector_size_
|
||||||
|
+scsi_debug_setup_ sector_size=$ss dev_size_mb=10 > dev-name ||
|
||||||
|
+ skip_ 'failed to create scsi_debug device'
|
||||||
|
+scsi_dev=$(cat dev-name)
|
||||||
|
+
|
||||||
|
+# Create a DOS label with an extended partition and a primary partition
|
||||||
|
+parted -s $scsi_dev mklabel msdos || fail=1
|
||||||
|
+parted -s $scsi_dev mkpart extended 1 5 > out 2>&1 || fail=1
|
||||||
|
+parted -s $scsi_dev mkpart primary 5 10 > out 2>&1 || fail=1
|
||||||
|
+
|
||||||
|
+# Make sure the size of the extended partition is 2 sectors
|
||||||
|
+dev=${scsi_dev#/dev/}
|
||||||
|
+ext_len=$(cat /sys/block/$dev/${dev}1/size)
|
||||||
|
+[ $ext_len -eq 2 ] || fail=1
|
||||||
|
+
|
||||||
|
+Exit $fail
|
||||||
|
--
|
||||||
|
2.4.0
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From 1174a9cca1610611ad5d8cf9f3611e9d4c984fb0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Brian C. Lane" <bcl@redhat.com>
|
||||||
|
Date: Fri, 5 Jun 2015 14:40:00 -0700
|
||||||
|
Subject: [PATCH 13/13] libparted: BLKPG_RESIZE_PARTITION uses bytes, not
|
||||||
|
sectors (#1135493)
|
||||||
|
|
||||||
|
This results in the extended partition vanishing after adding another
|
||||||
|
partition.
|
||||||
|
|
||||||
|
Resolves: rhbz#1135493
|
||||||
|
---
|
||||||
|
libparted/arch/linux.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
|
||||||
|
index 90ab21d..e73fe1c 100644
|
||||||
|
--- a/libparted/arch/linux.c
|
||||||
|
+++ b/libparted/arch/linux.c
|
||||||
|
@@ -2547,7 +2547,10 @@ static int _blkpg_resize_partition (PedDisk* disk, const PedPartition *part)
|
||||||
|
if (walk->geom.start == part->geom.start+1)
|
||||||
|
linux_part.length = 1;
|
||||||
|
}
|
||||||
|
- } else linux_part.length = 1;
|
||||||
|
+ } else {
|
||||||
|
+ linux_part.length = 1;
|
||||||
|
+ }
|
||||||
|
+ linux_part.length *= disk->dev->sector_size;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
linux_part.length = part->geom.length * disk->dev->sector_size;
|
||||||
|
--
|
||||||
|
2.4.0
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
Summary: The GNU disk partition manipulation program
|
Summary: The GNU disk partition manipulation program
|
||||||
Name: parted
|
Name: parted
|
||||||
Version: 3.2
|
Version: 3.2
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
URL: http://www.gnu.org/software/parted
|
URL: http://www.gnu.org/software/parted
|
||||||
@ -25,6 +25,8 @@ Patch0008: 0008-parted-don-t-crash-in-disk_set-when-disk-label-not-f.patch
|
|||||||
Patch0009: 0009-tests-Add-a-test-for-device-mapper-partition-sizes.patch
|
Patch0009: 0009-tests-Add-a-test-for-device-mapper-partition-sizes.patch
|
||||||
Patch0010: 0010-libparted-device-mapper-uses-512b-sectors.patch
|
Patch0010: 0010-libparted-device-mapper-uses-512b-sectors.patch
|
||||||
Patch0011: 0011-Update-manpage-NAME-so-whatis-will-work.patch
|
Patch0011: 0011-Update-manpage-NAME-so-whatis-will-work.patch
|
||||||
|
Patch0012: 0012-tests-Make-sure-the-extended-partition-length-is-2-1.patch
|
||||||
|
Patch0013: 0013-libparted-BLKPG_RESIZE_PARTITION-uses-bytes-not-sect.patch
|
||||||
|
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: e2fsprogs-devel
|
BuildRequires: e2fsprogs-devel
|
||||||
@ -167,6 +169,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 05 2015 Brian C. Lane <bcl@redhat.com> 3.2-8
|
||||||
|
- tests: Make sure the extended partition length is 2 (#1135493)
|
||||||
|
- libparted: BLKPG_RESIZE_PARTITION uses bytes not sectors (#1135493)
|
||||||
|
|
||||||
* Tue Apr 28 2015 Brian C. Lane <bcl@redhat.com> 3.2-7
|
* Tue Apr 28 2015 Brian C. Lane <bcl@redhat.com> 3.2-7
|
||||||
- Add python2 as a BuildRequires, used in some of the tests
|
- Add python2 as a BuildRequires, used in some of the tests
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user