bcl pushed to parted (f21). "- tests: Make sure the extended partition length is 2 (#1135493) (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Fri Jun 5 22:52:40 UTC 2015


From cfe50120261d8bdb76b204af2bc5a7bdecca8e1c Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl at redhat.com>
Date: Fri, 5 Jun 2015 15:46:45 -0700
Subject: - tests: Make sure the extended partition length is 2 (#1135493) -
 libparted: BLKPG_RESIZE_PARTITION uses bytes not sectors (#1135493)

(cherry picked from commit 441cefc372fb74d096beab83df506cfc0bf2fa43)

diff --git a/0012-tests-Make-sure-the-extended-partition-length-is-2-1.patch b/0012-tests-Make-sure-the-extended-partition-length-is-2-1.patch
new file mode 100644
index 0000000..c5da04b
--- /dev/null
+++ b/0012-tests-Make-sure-the-extended-partition-length-is-2-1.patch
@@ -0,0 +1,76 @@
+From 8b23531d1432c7ca0918c2a1c5a7f00ca881968c Mon Sep 17 00:00:00 2001
+From: "Brian C. Lane" <bcl at 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
+
diff --git a/0013-libparted-BLKPG_RESIZE_PARTITION-uses-bytes-not-sect.patch b/0013-libparted-BLKPG_RESIZE_PARTITION-uses-bytes-not-sect.patch
new file mode 100644
index 0000000..4a1b90f
--- /dev/null
+++ b/0013-libparted-BLKPG_RESIZE_PARTITION-uses-bytes-not-sect.patch
@@ -0,0 +1,33 @@
+From 1174a9cca1610611ad5d8cf9f3611e9d4c984fb0 Mon Sep 17 00:00:00 2001
+From: "Brian C. Lane" <bcl at 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
+
diff --git a/parted.spec b/parted.spec
index a81ea82..40408cd 100644
--- a/parted.spec
+++ b/parted.spec
@@ -4,7 +4,7 @@
 Summary: The GNU disk partition manipulation program
 Name:    parted
 Version: 3.2
-Release: 7%{?dist}
+Release: 8%{?dist}
 License: GPLv3+
 Group:   Applications/System
 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
 Patch0010: 0010-libparted-device-mapper-uses-512b-sectors.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)
 BuildRequires: e2fsprogs-devel
@@ -167,6 +169,10 @@ fi
 
 
 %changelog
+* Fri Jun 05 2015 Brian C. Lane <bcl at 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 at redhat.com> 3.2-7
 - Add python2 as a BuildRequires, used in some of the tests
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/parted.git/commit/?h=f21&id=cfe50120261d8bdb76b204af2bc5a7bdecca8e1c


More information about the scm-commits mailing list