This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via bb10029704219063a42ef4119bf72e11a127c401 (commit) via bce502baf2584371bb69be6ea8679790f4cc4293 (commit) from d34edaf5c15e13330a5fa8bde00f9f3ddd47fe19 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit bb10029704219063a42ef4119bf72e11a127c401 Merge: d34edaf bce502b Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Feb 12 19:37:43 2013 +0100
Merge remote-tracking branch 'stevee/parted-update'
commit bce502baf2584371bb69be6ea8679790f4cc4293 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Tue Feb 12 19:30:06 2013 +0100
parted: Update to 3.1.
This is a major update to the latest stable version.
-----------------------------------------------------------------------
Summary of changes: parted/parted.nm | 16 +- ...1-blkid_topology_get_physical_sector_size.patch | 30 - ...parted-2.1-dasd-NULL-dereference-rh563419.patch | 26 - parted/patches/parted-2.1-default-alignment.patch | 842 --------------------- .../parted-2.1-gpt-clobber-pmbr-rh563211.patch | 146 ---- .../parted-2.1-mem-leak-fixes-rh556012.patch | 158 ---- .../parted-2.1-needs_clobber-rh566181.patch | 30 - 7 files changed, 4 insertions(+), 1244 deletions(-) delete mode 100644 parted/patches/parted-2.1-blkid_topology_get_physical_sector_size.patch delete mode 100644 parted/patches/parted-2.1-dasd-NULL-dereference-rh563419.patch delete mode 100644 parted/patches/parted-2.1-default-alignment.patch delete mode 100644 parted/patches/parted-2.1-gpt-clobber-pmbr-rh563211.patch delete mode 100644 parted/patches/parted-2.1-mem-leak-fixes-rh556012.patch delete mode 100644 parted/patches/parted-2.1-needs_clobber-rh566181.patch
Difference in files: diff --git a/parted/parted.nm b/parted/parted.nm index bfe7cdd..3beb58a 100644 --- a/parted/parted.nm +++ b/parted/parted.nm @@ -4,8 +4,8 @@ ###############################################################################
name = parted -version = 2.1 -release = 3 +version = 3.1 +release = 1
groups = Applications/System url = http://www.gnu.org/software/parted @@ -19,7 +19,8 @@ description to new hard disks. end
-source_dl = +source_dl = http://ftp.gnu.org/gnu/parted/ +sources = %{thisapp}.tar.xz
build requires @@ -33,17 +34,8 @@ build end
configure_options += \ - --libdir=/%{lib} \ --enable-selinux \ --disable-Werror - - install_cmds - mkdir -pv %{BUILDROOT}%{libdir} - mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir} - rm -rf %{BUILDROOT}/%{lib}/libparted{,-2.1}.so - ln -svf ../../%{lib}/libparted-%{version}.so.0 %{BUILDROOT}%{libdir}/libparted-%{version}.so - ln -svf libparted-%{version}.so %{BUILDROOT}%{libdir}/libparted.so - end end
packages diff --git a/parted/patches/parted-2.1-blkid_topology_get_physical_sector_size.patch b/parted/patches/parted-2.1-blkid_topology_get_physical_sector_size.patch deleted file mode 100644 index c0d9c9f..0000000 --- a/parted/patches/parted-2.1-blkid_topology_get_physical_sector_size.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 503c54ef274a923dcac337361936062b37a0ac1a Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Mon, 11 Jan 2010 11:46:36 +0100 -Subject: [PATCH parted 1/3] linux: use blkid_topology_get_physical_sector_size - -The official 2.17 release of util-linux-ng, has added a function to -get the physical sector size, use that instead of getting the -minimum io size. -* libparted/arch/linux.c(_device_set_sector_size): use -blkid_topology_get_physical_sector_size. ---- - libparted/arch/linux.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index aefe788..bf33059 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -668,7 +668,7 @@ _device_set_sector_size (PedDevice* dev) - dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT); - } else { - dev->phys_sector_size = -- blkid_topology_get_minimum_io_size( -+ blkid_topology_get_physical_sector_size( - arch_specific->topology); - } - #endif --- -1.6.5.2 - diff --git a/parted/patches/parted-2.1-dasd-NULL-dereference-rh563419.patch b/parted/patches/parted-2.1-dasd-NULL-dereference-rh563419.patch deleted file mode 100644 index 477b7ae..0000000 --- a/parted/patches/parted-2.1-dasd-NULL-dereference-rh563419.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 122bc980e27334d0f6243b74fffc8d2cefe0eb5c Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Wed, 10 Feb 2010 14:11:14 +0100 -Subject: [PATCH parted] dasd: Fix NULL pointer dereference in dasd_read - -* libparted/labels/dasd.c (dasd_read): Fix NULL ptr dereference. ---- - libparted/labels/dasd.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/libparted/labels/dasd.c b/libparted/labels/dasd.c -index 4b5840b..516d189 100644 ---- a/libparted/labels/dasd.c -+++ b/libparted/labels/dasd.c -@@ -399,7 +399,7 @@ dasd_read (PedDisk* disk) - - if (strncmp(PART_TYPE_SWAP, str, 6) == 0) { - fs = ped_file_system_probe(&part->geom); -- if (is_linux_swap(fs->name)) { -+ if (fs && is_linux_swap(fs->name)) { - dasd_data->system = PARTITION_LINUX_SWAP; - PDEBUG; - } --- -1.6.6 - diff --git a/parted/patches/parted-2.1-default-alignment.patch b/parted/patches/parted-2.1-default-alignment.patch deleted file mode 100644 index 80cd47a..0000000 --- a/parted/patches/parted-2.1-default-alignment.patch +++ /dev/null @@ -1,842 +0,0 @@ -From 6c4c8464c704b645ddeccce4c4931b8e9d11c3a8 Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 10:58:17 +0100 -Subject: [PATCH parted 1/7] linux: Fixup phys_sector_size setting - -1) Use the logical sector size as physical sector size instead of 512 - when not compiled with libblkid support, this fixes problems - with logical sector size > physical sector size. -2) blkid_topology_get_physical_sector_size() can return 0 when it could - not determine the physical sector size, handle this. -* libparted/arch/linux.c (_device_set_sector_size): Fixup -phys_sector_size setting. ---- - libparted/arch/linux.c | 17 +++++++++++------ - 2 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index f3b54f0..4b7b9f5 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -654,22 +654,27 @@ _device_set_sector_size (PedDevice* dev) - dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT); - } else { - dev->sector_size = (long long)sector_size; -+ dev->phys_sector_size = dev->sector_size; - } - - #if USE_BLKID - get_blkid_topology(arch_specific); - if (!arch_specific->topology) { -- ped_exception_throw ( -- PED_EXCEPTION_WARNING, -- PED_EXCEPTION_OK, -- _("Could not determine minimum io size for %s: %s.\n" -- "Using the default size (%lld)."), -- dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT); -+ dev->phys_sector_size = 0; - } else { - dev->phys_sector_size = - blkid_topology_get_physical_sector_size( - arch_specific->topology); - } -+ if (dev->phys_sector_size == 0) { -+ ped_exception_throw ( -+ PED_EXCEPTION_WARNING, -+ PED_EXCEPTION_OK, -+ _("Could not determine physical sector size for %s.\n" -+ "Using the logical sector size (%lld)."), -+ dev->path, dev->sector_size); -+ dev->phys_sector_size = dev->sector_size; -+ } - #endif - - #if defined __s390__ || defined __s390x__ --- -1.6.6 - -From 4bb123a121b54d758f87fc6c38d8edab4ddc6d6b Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 19:55:10 +0100 -Subject: [PATCH parted 2/7] libparted: Give device_get_*_alignment sane defaults - -When the topology info is incomplete or non existent, return something -more sensible then NULL (which ends up being interpreted as -PedAlignmentAny in most cases). The default minimum alignment aligns to -physical sector size, the default optimal alignment is 1 MiB, which is -what vista and windows 7 do. -* libparted/device.c (device_get_*_alignment): Add default aligments. ---- - libparted/device.c | 30 ++++++++++++++++++++++++++---- - 2 files changed, 33 insertions(+), 4 deletions(-) - -diff --git a/libparted/device.c b/libparted/device.c -index dda8d74..0f36a03 100644 ---- a/libparted/device.c -+++ b/libparted/device.c -@@ -501,10 +501,16 @@ ped_device_get_optimal_aligned_constraint(const PedDevice *dev) - PedAlignment* - ped_device_get_minimum_alignment(const PedDevice *dev) - { -+ PedAlignment *align = NULL; -+ - if (ped_architecture->dev_ops->get_minimum_alignment) -- return ped_architecture->dev_ops->get_minimum_alignment(dev); -+ align = ped_architecture->dev_ops->get_minimum_alignment(dev); -+ -+ if (align == NULL) -+ align = ped_alignment_new(0, -+ dev->phys_sector_size / dev->sector_size); - -- return NULL; /* ped_alignment_none */ -+ return align; - } - - /** -@@ -521,10 +527,26 @@ ped_device_get_minimum_alignment(const PedDevice *dev) - PedAlignment* - ped_device_get_optimum_alignment(const PedDevice *dev) - { -+ PedAlignment *align = NULL; -+ - if (ped_architecture->dev_ops->get_optimum_alignment) -- return ped_architecture->dev_ops->get_optimum_alignment(dev); -+ align = ped_architecture->dev_ops->get_optimum_alignment(dev); -+ -+ /* If the arch specific code could not give as an alignment -+ return a default value based on the type of device. */ -+ if (align == NULL) { -+ switch (dev->type) { -+ case PED_DEVICE_DASD: -+ align = ped_device_get_minimum_alignment(dev); -+ break; -+ default: -+ /* Align to a grain of 1MiB (like vista / win7) */ -+ align = ped_alignment_new(0, -+ 1048576 / dev->sector_size); -+ } -+ } - -- return NULL; /* ped_alignment_none */ -+ return align; - } - - /** @} */ --- -1.6.6 - -From 82f42a9e059a8f5dea46090889914041204ebe36 Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 19:59:06 +0100 -Subject: [PATCH parted 3/7] linux: handle incomplete topology information - -The topology information returned by libblkid is not always complete -(as the kernel does not always have complete information). -This patch makes the linux_get_*_alignment() alignment functions handle -this. The algorithm used for linux_get_optimum_alignment is: -1) Always use the reported aligment offset as offset -2a)If optimal io size is present in the topology info use that as grain -2b)If optimal io size is not present in topology info and aligment - offset is 0 and minimum io size is a power of 2, use the device.c - default optimal alignment (grain 1MiB). -2c)If not 2a and 2b, use the minimum io size, or if that is not defined - the physical sector size as grain (iow the minimum alignment). -The algorithm used for linux_get_minimum_alignment is: -1) Always use the reported aligment offset as offset -2) Use the minimum io size, or if that is not defined the physical - sector size as grain. -* libparted/arch/linux.c (linux_get_*_alignment): handle incomplete -topology information. ---- - libparted/arch/linux.c | 25 +++++++++++++++++++++---- - 1 files changed, 21 insertions(+), 4 deletions(-) - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 4b7b9f5..a083028 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -2564,9 +2564,14 @@ PedAlignment* - linux_get_minimum_alignment(const PedDevice *dev) - { - blkid_topology tp = LINUX_SPECIFIC(dev)->topology; -+ if (!tp) -+ return NULL; - -- if (!tp || blkid_topology_get_minimum_io_size(tp) == 0) -- return NULL; /* ped_alignment_none */ -+ if (blkid_topology_get_minimum_io_size(tp) == 0) -+ return ped_alignment_new( -+ blkid_topology_get_alignment_offset(tp) / -+ dev->sector_size, -+ dev->phys_sector_size / dev->sector_size); - - return ped_alignment_new( - blkid_topology_get_alignment_offset(tp) / dev->sector_size, -@@ -2577,9 +2582,21 @@ PedAlignment* - linux_get_optimum_alignment(const PedDevice *dev) - { - blkid_topology tp = LINUX_SPECIFIC(dev)->topology; -+ if (!tp) -+ return NULL; -+ -+ /* If optimal_io_size is 0 _and_ alignment_offset is 0 _and_ -+ minimum_io_size is a power of 2 then go with the device.c default */ -+ unsigned long minimum_io_size = blkid_topology_get_minimum_io_size(tp); -+ if (blkid_topology_get_optimal_io_size(tp) == 0 && -+ blkid_topology_get_alignment_offset(tp) == 0 && -+ (minimum_io_size & (minimum_io_size - 1)) == 0) -+ return NULL; - -- if (!tp || blkid_topology_get_optimal_io_size(tp) == 0) -- return NULL; /* ped_alignment_none */ -+ /* If optimal_io_size is 0 and we don't meet the other criteria -+ for using the device.c default, return the minimum alignment. */ -+ if (blkid_topology_get_optimal_io_size(tp) == 0) -+ return linux_get_minimum_alignment(dev); - - return ped_alignment_new( - blkid_topology_get_alignment_offset(tp) / dev->sector_size, --- -1.6.6 - -From 4be1b004ad2c576fc093ca5227e22bb78b35f1fd Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 23:28:13 +0100 -Subject: [PATCH parted 4/7] parted: Honor --align option also in mkpartfs, resize and print cmds - -parted/parted.c (do_mkpartfs,do_print,do_resize): honor --align ---- - parted/parted.c | 26 +++++++++++++++++++++++++- - 1 files changed, 25 insertions(+), 1 deletions(-) - -diff --git a/parted/parted.c b/parted/parted.c -index c4d1779..5ba8bbf 100644 ---- a/parted/parted.c -+++ b/parted/parted.c -@@ -949,6 +949,11 @@ do_mkpartfs (PedDevice** dev) - if (!disk) - goto error; - -+ if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) -+ if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, -+ alignment == ALIGNMENT_CYLINDER)) -+ goto error_destroy_disk; -+ - if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED)) { - part_type = PED_PARTITION_NORMAL; - } else { -@@ -989,7 +994,14 @@ do_mkpartfs (PedDevice** dev) - range_end); - PED_ASSERT (user_constraint != NULL, return 0); - -- dev_constraint = ped_device_get_constraint (*dev); -+ if (alignment == ALIGNMENT_OPTIMAL) -+ dev_constraint = -+ ped_device_get_optimal_aligned_constraint(*dev); -+ else if (alignment == ALIGNMENT_MINIMAL) -+ dev_constraint = -+ ped_device_get_minimal_aligned_constraint(*dev); -+ else -+ dev_constraint = ped_device_get_constraint(*dev); - PED_ASSERT (dev_constraint != NULL, return 0); - - final_constraint = ped_constraint_intersect (user_constraint, -@@ -1353,6 +1365,11 @@ do_print (PedDevice** dev) - if (!disk) - goto error; - -+ if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) -+ if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, -+ alignment == ALIGNMENT_CYLINDER)) -+ goto error_destroy_disk; -+ - peek_word = command_line_peek_word (); - if (peek_word) { - if (strncmp (peek_word, "devices", 7) == 0) { -@@ -1697,6 +1697,7 @@ do_print (PedDevice** dev) - - return 1; - -+error_destroy_disk: - ped_disk_destroy (disk); - error: - return 0; -@@ -1862,6 +1881,11 @@ do_resize (PedDevice** dev) - if (!disk) - goto error; - -+ if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) -+ if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, -+ alignment == ALIGNMENT_CYLINDER)) -+ goto error_destroy_disk; -+ - if (!command_line_get_partition (_("Partition number?"), disk, &part)) - goto error_destroy_disk; - if (part->type != PED_PARTITION_EXTENDED) { --- -1.6.6 - -From 950bfc92b1a67c8baa8c7cfab04103bd38a2d24b Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 22:51:30 +0100 -Subject: [PATCH parted 5/7] parted: change warnings when initial constrained mkpart fails - -In do_mkpart we first try to create a partition using a constraint -derived from the user input intersected with the devices alignment -needs. And if that fails we try again without any constraint. - -However the warning given when this happens only takes into account -the user not getting what he asked for, while the alignment might be -a problem too (or even the only problem). So this patch adds a check -to see if the user really did not get what he asked before giving that -warning, and adds a new check + warning to see if the created partition -is properly aligned. -*parted/parted.c (do_mkpart,do_mkpartfs): change warnings when initial -constrained mkpart fails. ---- - parted/parted.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++------ - 1 files changed, 52 insertions(+), 7 deletions(-) - -diff --git a/parted/parted.c b/parted/parted.c -index 5ba8bbf..3ce356f 100644 ---- a/parted/parted.c -+++ b/parted/parted.c -@@ -178,6 +178,8 @@ static TimerContext timer_context; - - static int _print_list (); - static void _done (PedDevice* dev); -+static bool partition_align_check (PedDisk const *disk, -+ PedPartition const *part, enum AlignmentType a_type); - - static void - _timer_handler (PedTimer* timer, void* context) -@@ -833,7 +835,12 @@ do_mkpart (PedDevice** dev) - bool added_ok = ped_disk_add_partition (disk, part, - constraint_any); - ped_constraint_destroy (constraint_any); -- if (added_ok) { -+ -+ if (!added_ok) -+ goto error_remove_part; -+ -+ if (!ped_geometry_test_sector_inside(range_start, part->geom.start) || -+ !ped_geometry_test_sector_inside(range_end, part->geom.end)) { - start_usr = ped_unit_format (*dev, start); - end_usr = ped_unit_format (*dev, end); - start_sol = ped_unit_format (*dev, part->geom.start); -@@ -867,8 +874,23 @@ do_mkpart (PedDevice** dev) - /* undo partition addition */ - goto error_remove_part; - } -- } else { -- goto error_remove_part; -+ } -+ -+ if ((alignment == ALIGNMENT_OPTIMAL && -+ !partition_align_check(disk, part, PA_OPTIMUM)) || -+ (alignment == ALIGNMENT_MINIMAL && -+ !partition_align_check(disk, part, PA_MINIMUM))) { -+ if (ped_exception_throw( -+ PED_EXCEPTION_WARNING, -+ (opt_script_mode -+ ? PED_EXCEPTION_OK -+ : PED_EXCEPTION_IGNORE_CANCEL), -+ _("The resulting partition is not properly " -+ "aligned for best performance.")) == -+ PED_EXCEPTION_CANCEL) { -+ /* undo partition addition */ -+ goto error_remove_part; -+ } - } - } else { - ped_exception_leave_all(); -@@ -1018,8 +1040,16 @@ do_mkpartfs (PedDevice** dev) - if (!added_ok) { - ped_exception_leave_all(); - -- if (ped_disk_add_partition (disk, part, -- ped_constraint_any (*dev))) { -+ PedConstraint *constraint_any = ped_constraint_any (*dev); -+ bool added_ok = ped_disk_add_partition (disk, part, -+ constraint_any); -+ ped_constraint_destroy (constraint_any); -+ -+ if (!added_ok) -+ goto error_remove_part; -+ -+ if (!ped_geometry_test_sector_inside(range_start, part->geom.start) || -+ !ped_geometry_test_sector_inside(range_end, part->geom.end)) { - start_usr = ped_unit_format (*dev, start); - end_usr = ped_unit_format (*dev, end); - start_sol = ped_unit_format (*dev, part->geom.start); -@@ -1048,8 +1078,23 @@ do_mkpartfs (PedDevice** dev) - /* undo partition addition */ - goto error_remove_part; - } -- } else { -- goto error_remove_part; -+ } -+ -+ if ((alignment == ALIGNMENT_OPTIMAL && -+ !partition_align_check(disk, part, PA_OPTIMUM)) || -+ (alignment == ALIGNMENT_MINIMAL && -+ !partition_align_check(disk, part, PA_MINIMUM))) { -+ if (ped_exception_throw( -+ PED_EXCEPTION_WARNING, -+ (opt_script_mode -+ ? PED_EXCEPTION_OK -+ : PED_EXCEPTION_IGNORE_CANCEL), -+ _("The resulting partition is not properly " -+ "aligned for best performance.")) == -+ PED_EXCEPTION_CANCEL) { -+ /* undo partition addition */ -+ goto error_remove_part; -+ } - } - } else { - ped_exception_leave_all(); --- -1.6.6 - -From 6c2db872647816b84a5efc8c8995a019d47f89a9 Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Sat, 30 Jan 2010 17:46:23 +0100 -Subject: [PATCH parted 6/7] Makefiles: Fix check-other-sector_sizes - -Atleast on my system check-other-sector_sizes was actually just testing -512 bytes sectors 4 times. This fixes this. -* Makefile.am: Fix check-other-sector_sizes ---- - Makefile.am | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 0e80967..d5a32ef 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -1415,7 +1415,7 @@ MAINTAINERCLEANFILES += \ - - .PHONY: ss-1024 ss-2048 ss-4096 - ss-1024 ss-2048 ss-4096: -- PARTED_SECTOR_SIZE=$(ss-,,$@) $(MAKE) check-recursive -+ PARTED_SECTOR_SIZE=$(subst ss-,,$@) $(MAKE) check-recursive - - # Run the regression test suite with different settings, - # to ensure it works with simulated partition sizes > 512. --- -1.6.6 - -From 6ba62ce27f84c5c931d021f4be4af0cce011bdbf Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Fri, 29 Jan 2010 20:30:18 +0100 -Subject: [PATCH parted 7/7] parted: Change default alignment to optimal - -parted/parted.c: change --align default value to optimal -tests/*.sh: adjust for alignment changes where necessary ---- - parted/parted.c | 2 +- - tests/t0220-gpt-msftres.sh | 4 ++-- - tests/t0280-gpt-corrupt.sh | 6 +++--- - tests/t2100-mkswap.sh | 14 +++++++------- - tests/t2200-dos-label-recog.sh | 11 ++++++----- - tests/t2300-dos-label-extended-bootcode.sh | 12 ++++++------ - tests/t3000-resize-fs.sh | 4 ++-- - tests/t4100-dvh-partition-limits.sh | 4 +++- - tests/t4100-msdos-partition-limits.sh | 22 +++++----------------- - tests/t4100-msdos-starting-sector.sh | 10 +++++----- - tests/t5000-tags.sh | 6 +++--- - tests/t8000-loop.sh | 1 + - tests/t9021-maxima.sh | 3 ++- - 14 files changed, 49 insertions(+), 53 deletions(-) - -diff --git a/parted/parted.c b/parted/parted.c -index 3ce356f..e35ce6a 100644 ---- a/parted/parted.c -+++ b/parted/parted.c -@@ -133,7 +133,7 @@ int pretend_input_tty = 0; - int opt_machine_mode = 0; - int disk_is_modified = 0; - int is_toggle_mode = 0; --int alignment = ALIGNMENT_CYLINDER; -+int alignment = ALIGNMENT_OPTIMAL; - - static const char* number_msg = N_( - "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " -diff --git a/tests/t0220-gpt-msftres.sh b/tests/t0220-gpt-msftres.sh -index 8ef885f..bbc415b 100755 ---- a/tests/t0220-gpt-msftres.sh -+++ b/tests/t0220-gpt-msftres.sh -@@ -35,8 +35,8 @@ NTFS - reiserfs - ' - --start=200 --part_size=100 -+start=2048 -+part_size=2048 - n_types=$(echo "$fs_types"|wc -w) - - # Create a "disk" with enough room for one partition per FS type, -diff --git a/tests/t0280-gpt-corrupt.sh b/tests/t0280-gpt-corrupt.sh -index 28c9035..5c48116 100755 ---- a/tests/t0280-gpt-corrupt.sh -+++ b/tests/t0280-gpt-corrupt.sh -@@ -43,7 +43,7 @@ poke() - dev=loop-file - - ss=$sector_size_ --n_sectors=200 -+n_sectors=5000 - - fail=0 - dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 -@@ -62,7 +62,7 @@ printf "BYT;\n$dev:${n_sectors}s:file:$sector_size_:$sector_size_:gpt:;\n" \ - compare exp out || fail=1 - - # create a partition --parted -s $dev mkpart sw linux-swap 60s 100s > empty 2>&1 || fail=1 -+parted -s $dev mkpart sw linux-swap 2048s 4095s > empty 2>&1 || fail=1 - compare /dev/null empty || fail=1 - - # We're going to change the name of the first partition, -@@ -123,7 +123,7 @@ compare exp err || fail=1 - parted -m -s $dev u s print > out 2>&1 || fail=1 - - # check for expected output --printf "BYT;\nfile\n1:60s:100s:41s::foo:;\n" > exp || fail=1 -+printf "BYT;\nfile\n1:2048s:4095s:2048s::foo:;\n" > exp || fail=1 - sed "s/.*gpt:;/file/" out > k && mv k out || fail=1 - compare exp out || fail=1 - -diff --git a/tests/t2100-mkswap.sh b/tests/t2100-mkswap.sh -index 1462e5d..1e4c444 100755 ---- a/tests/t2100-mkswap.sh -+++ b/tests/t2100-mkswap.sh -@@ -27,7 +27,7 @@ require_512_byte_sector_size_ - # table, ensure that the proper file system type (0x82) is used. - # Some releases, e.g. parted-1.8.8 would mistakenly use 0x83. - ###################################################################### --N=1M -+N=2M - dev=loop-file - dev2=loop-file-2 - test_expect_success \ -@@ -41,7 +41,7 @@ test_expect_success 'expect no output' 'compare out /dev/null' - - test_expect_success \ - 'create a partition' \ -- 'parted -s $dev mkpart primary 0 1 > out 2>&1' -+ 'parted -s $dev mkpart primary 2048s 4095s > out 2>&1' - test_expect_success 'expect no output' 'compare out /dev/null' - - test_expect_success \ -@@ -66,7 +66,7 @@ test_expect_success 'expect no output' 'compare out /dev/null' - - test_expect_success \ - 'create another partition' \ -- 'parted -s $dev2 mkpart primary 0 1 > out 2>&1' -+ 'parted -s $dev2 mkpart primary 2048s 4095s > out 2>&1' - test_expect_success 'expect no output' 'compare out /dev/null' - - test_expect_success \ -@@ -74,13 +74,13 @@ test_expect_success \ - 'parted -s $dev2 mkfs 1 "linux-swap(v1)" > out 2>&1' - test_expect_success 'expect no output' 'compare out /dev/null' - --# partition starts at offset 16384; swap UUID is 1036 bytes in -+# partition starts at offset 1048576; swap UUID is 1036 bytes in - test_expect_success \ - 'extract UUID 1' \ -- 'od -t x1 -An -j17420 -N16 $dev > uuid1' -+ 'od -t x1 -An -j1049612 -N16 $dev > uuid1' - test_expect_success \ - 'extract UUID 2' \ -- 'od -t x1 -An -j17420 -N16 $dev2 > uuid2' -+ 'od -t x1 -An -j1049612 -N16 $dev2 > uuid2' - test_expect_failure \ - 'two linux-swap file systems have different UUIDs' \ - 'compare uuid1 uuid2' -@@ -92,7 +92,7 @@ test_expect_success 'expect no output' 'compare out /dev/null' - - test_expect_success \ - 'extract new UUID 2' \ -- 'od -t x1 -An -j17420 -N16 $dev2 > uuid2-new' -+ 'od -t x1 -An -j1049612 -N16 $dev2 > uuid2-new' - test_expect_success \ - 'check preserves linux-swap UUID' \ - 'compare uuid2 uuid2-new' -diff --git a/tests/t2200-dos-label-recog.sh b/tests/t2200-dos-label-recog.sh -index 1254226..92e6d42 100755 ---- a/tests/t2200-dos-label-recog.sh -+++ b/tests/t2200-dos-label-recog.sh -@@ -25,11 +25,12 @@ test_description='improved MSDOS partition-table recognition' - # parted 1.8.8.1.29 and earlier would fail to recognize a DOS - # partition table. - ###################################################################### --N=10M -+ss=$sector_size_ -+N=8192 - dev=loop-file - test_expect_success \ - 'create a file to simulate the underlying device' \ -- 'dd if=/dev/null of=$dev bs=1 seek=$N 2> /dev/null' -+ 'dd if=/dev/null of=$dev bs=$ss seek=$N 2> /dev/null' - - test_expect_success \ - 'label the test disk' \ -@@ -39,8 +40,8 @@ test_expect_success 'expect no output' 'compare out /dev/null' - test_expect_success \ - 'create two partition' \ - ' -- parted -s $dev mkpart primary 1s 40s > out 2>&1 && -- parted -s $dev mkpart primary 41s 80s >> out 2>&1 -+ parted -s $dev mkpart primary 2048s 4095s > out 2>&1 && -+ parted -s $dev mkpart primary 4096s 8191s >> out 2>&1 - - ' - test_expect_success 'expect no output' 'compare out /dev/null' -@@ -54,7 +55,7 @@ test_expect_success \ - ' - parted -m -s $dev unit s p > out && - tail -2 out > k && mv k out && -- printf "1:1s:40s:40s:::;\n2:41s:80s:40s:::;\n" > exp -+ printf "1:2048s:4095s:2048s:::;\n2:4096s:8191s:4096s:::;\n" > exp - - ' - test_expect_success 'expect two partitions' 'compare out exp' -diff --git a/tests/t2300-dos-label-extended-bootcode.sh b/tests/t2300-dos-label-extended-bootcode.sh -index 6f2b219..73fa45b 100755 ---- a/tests/t2300-dos-label-extended-bootcode.sh -+++ b/tests/t2300-dos-label-extended-bootcode.sh -@@ -27,7 +27,7 @@ bootcode_size=446 - - test_expect_success \ - 'Create the test file' \ -- 'dd if=/dev/zero of=$dev bs=1024c count=100 >/dev/null 2>&1' -+ 'dd if=/dev/zero of=$dev bs=1M count=4 >/dev/null 2>&1' - - test_expect_success \ - 'Create msdos label' \ -@@ -36,23 +36,23 @@ test_expect_success 'Expect no output' 'compare out /dev/null' - - test_expect_success \ - 'Create extended partition' \ -- 'parted -s $dev mkpart extended 32s 127s > out 2>&1' -+ 'parted -s $dev mkpart extended 2048s 8191s > out 2>&1' - test_expect_success 'Expect no output' 'compare out /dev/null' - - test_expect_success \ - 'Create logical partition' \ -- 'parted -s $dev mkpart logical 64s 127s > out 2>&1' -+ 'parted -s $dev mkpart logical 4096s 8191s > out 2>&1' - test_expect_success 'Expect no output' 'compare out /dev/null' - - test_expect_success \ - 'Install fake bootcode' \ - 'printf %0${bootcode_size}d 0 > in && -- dd if=in of=$dev bs=1c seek=16384 count=$bootcode_size \ -+ dd if=in of=$dev bs=1c seek=1M count=$bootcode_size \ - conv=notrunc > /dev/null 2>&1' - - test_expect_success \ - 'Save fake bootcode for later comparison' \ -- 'dd if=$dev of=before bs=1 skip=16384 count=$bootcode_size > /dev/null 2>&1' -+ 'dd if=$dev of=before bs=1 skip=1M count=$bootcode_size > /dev/null 2>&1' - - test_expect_success \ - 'Do something to the label' \ -@@ -61,7 +61,7 @@ test_expect_success 'Expect no output' 'compare out /dev/null' - - test_expect_success \ - 'Extract the bootcode for comparison' \ -- 'dd if=$dev of=after bs=1 skip=16384 count=$bootcode_size > /dev/null 2>&1' -+ 'dd if=$dev of=after bs=1 skip=1M count=$bootcode_size > /dev/null 2>&1' - - test_expect_success \ - 'Expect bootcode has not changed' \ -diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh -index 2abc71b..d6af67d 100755 ---- a/tests/t3000-resize-fs.sh -+++ b/tests/t3000-resize-fs.sh -@@ -64,8 +64,8 @@ for fs_type in hfs+ fat32; do - - # create an empty $fs_type partition, cylinder aligned, size > 256 MB - parted -s $dev mkpart primary $fs_type $start $default_end > out 2>&1 || fail=1 -- # expect no output -- compare out /dev/null || fail=1 -+ echo "Warning: The resulting partition is not properly aligned for best performance." > exp -+ compare out exp || fail=1 - - # print partition table - parted -m -s $dev u s p > out 2>&1 || fail=1 -diff --git a/tests/t4100-dvh-partition-limits.sh b/tests/t4100-dvh-partition-limits.sh -index 01e3078..17b1530 100755 ---- a/tests/t4100-dvh-partition-limits.sh -+++ b/tests/t4100-dvh-partition-limits.sh -@@ -33,11 +33,13 @@ fs=fs_file - mp=`pwd`/mount-point - n=4096 - -+# We must use -f otherwise newer mkfs.xfs fail with: -+# mkfs.xfs: probe of test.img failed, cannot detect existing filesystem. - test_expect_success \ - 'create an XFS file system' \ - ' - dd if=/dev/zero of=$fs bs=1MB count=2 seek=20 && -- mkfs.xfs -q $fs && -+ mkfs.xfs -f -q $fs && - mkdir "$mp" - - ' -diff --git a/tests/t4100-msdos-partition-limits.sh b/tests/t4100-msdos-partition-limits.sh -index 0c5b404..b9f168a 100755 ---- a/tests/t4100-msdos-partition-limits.sh -+++ b/tests/t4100-msdos-partition-limits.sh -@@ -33,11 +33,13 @@ fs=fs_file - mp=`pwd`/mount-point - n=4096 - -+# We must use -f otherwise newer mkfs.xfs fail with: -+# mkfs.xfs: probe of test.img failed, cannot detect existing filesystem. - test_expect_success \ - 'create an XFS file system' \ - ' - dd if=/dev/zero of=$fs bs=1MB count=2 seek=20 && -- mkfs.xfs -q $fs && -+ mkfs.xfs -f -q $fs && - mkdir "$mp" - - ' -@@ -102,27 +104,13 @@ test_expect_success \ - 'check for new diagnostic' \ - 'bad_part_length 4294967296 > exp && diff -u err exp' - --# FIXME: investigate this. --# Unexpectedly to me, both of these failed with this same diagnostic: --# --# Error: partition length of 4294967296 sectors exceeds the \ --# DOS-partition-table-imposed maximum of 2^32-1" > exp && --# --# I expected the one below to fail with a length of _4294967297_. --# Debugging, I see that _check_partition *does* detect this, --# but the diagnostic doesn't get displayed because of the wonders --# of parted's exception mechanism. -- - test_expect_failure \ - "$table_type: a partition length of 2^32+1 sectors provokes failure." \ - 'do_mkpart $n $(echo $n+2^32|bc) > err 2>&1' - --# FIXME: odd that we asked for 2^32+1, yet the diagnostic says 2^32 --# FIXME: Probably due to constraints. --# FIXME: For now, just accept the current output. - test_expect_success \ - 'check for new diagnostic' \ -- 'bad_part_length 4294967296 > exp && diff -u err exp' -+ 'bad_part_length 4294967297 > exp && diff -u err exp' - - # ========================================================= - # Now consider partition starting sector numbers. -@@ -164,7 +152,7 @@ test_expect_failure \ - 'do_mkpart_start_and_len $(echo 2^32+1|bc) 1000 > err 2>&1' - test_expect_success \ - 'check for new diagnostic' \ -- 'bad_start_sector 4294967296 > exp && diff -u err exp' -+ 'bad_start_sector 4294967297 > exp && diff -u err exp' - - done - -diff --git a/tests/t4100-msdos-starting-sector.sh b/tests/t4100-msdos-starting-sector.sh -index 7761e75..3d0233b 100755 ---- a/tests/t4100-msdos-starting-sector.sh -+++ b/tests/t4100-msdos-starting-sector.sh -@@ -27,7 +27,7 @@ ss=$sector_size_ - # consistent in the use of metadata padding for msdos labels. - ###################################################################### - --N=200 # number of sectors -+N=4096 # number of sectors - dev=loop-file - test_expect_success \ - 'create a file to simulate the underlying device' \ -@@ -43,7 +43,7 @@ fail=0 - cat <<EOF > exp || fail=1 - BYT; - path:${N}s:file:$ss:$ss:msdos:; --1:32s:127s:96s:free; -+1:32s:4095s:4064s:free; - EOF - - test_expect_success 'create expected output file' 'test $fail = 0' -@@ -62,15 +62,15 @@ fail=0 - cat <<EOF > exp || fail=1 - BYT; - path:${N}s:file:$ss:$ss:msdos:; --1:32s:50s:19s:free; --1:51s:199s:149s:::; -+1:32s:2047s:2016s:free; -+1:2048s:4095s:2048s:::; - EOF - - test_expect_success 'create expected output file' 'test $fail = 0' - - test_expect_success \ - 'create a partition at the end of the label' \ -- 'parted -s $dev mkpart primary 51s 199s' -+ 'parted -s $dev mkpart primary 2048s 4095s' - - test_expect_success \ - 'display output of label with partition' \ -diff --git a/tests/t5000-tags.sh b/tests/t5000-tags.sh -index d1e9533..9b0a1cc 100755 ---- a/tests/t5000-tags.sh -+++ b/tests/t5000-tags.sh -@@ -22,10 +22,10 @@ test_description="test bios_grub flag in gpt labels" - ss=$sector_size_ - - dev=loop-file --N=300 # number of sectors -+N=4200 # number of sectors - --part_sectors=128 --start_sector=60 -+part_sectors=2048 -+start_sector=2048 - end_sector=$(expr $start_sector + $part_sectors - 1) - - test_expect_success \ -diff --git a/tests/t8000-loop.sh b/tests/t8000-loop.sh -index 313e3b8..cba3454 100755 ---- a/tests/t8000-loop.sh -+++ b/tests/t8000-loop.sh -@@ -25,6 +25,7 @@ fi - . $srcdir/t-lib.sh - - require_root_ -+lvm_init_root_dir_ - - d1= f1= - cleanup_() -diff --git a/tests/t9021-maxima.sh b/tests/t9021-maxima.sh -index 999a696..c8316bc 100755 ---- a/tests/t9021-maxima.sh -+++ b/tests/t9021-maxima.sh -@@ -25,6 +25,7 @@ fi - . $srcdir/t-lib.sh - - fail=0 -+ss=$sector_size_ - dev=dev-file - PATH="..:$PATH" - export PATH -@@ -33,7 +34,7 @@ export PATH - for t in msdos gpt dvh sun mac bsd amiga loop pc98; do - echo $t - rm -f $dev -- dd if=/dev/zero of=$dev bs=512 count=1 seek=10000 || { fail=1; continue; } -+ dd if=/dev/zero of=$dev bs=$ss count=1 seek=10000 || { fail=1; continue; } - parted -s $dev mklabel $t || { fail=1; continue; } - - #case $t in pc98) sleep 999d;; esac --- -1.6.6 - diff --git a/parted/patches/parted-2.1-gpt-clobber-pmbr-rh563211.patch b/parted/patches/parted-2.1-gpt-clobber-pmbr-rh563211.patch deleted file mode 100644 index 2c3e030..0000000 --- a/parted/patches/parted-2.1-gpt-clobber-pmbr-rh563211.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 28be933ce317f954be1e39a50d8f42197d6e3c15 Mon Sep 17 00:00:00 2001 -From: Jim Meyering meyering@redhat.com -Date: Sun, 7 Feb 2010 20:31:11 +0100 -Subject: [PATCH parted 01/10] gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table - -* libparted/labels/gpt.c (gpt_read): Fix a bug introduced by me in -commit 7f753b1b, "gpt: rewrite GPT header-reading code". -Set write_back=0 in one more code path. -* tests/Makefile.am (TESTS): Add t0205-gpt-list-clobbers-pmbr.sh. -* tests/t0205-gpt-list-clobbers-pmbr.sh: New test. -Reported by aix27249 in -http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/250 ---- - libparted/labels/gpt.c | 10 ++++-- - tests/Makefile.am | 1 + - tests/t0205-gpt-list-clobbers-pmbr.sh | 59 +++++++++++++++++++++++++++++++++ - 4 files changed, 72 insertions(+), 3 deletions(-) - create mode 100644 tests/t0205-gpt-list-clobbers-pmbr.sh - -diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c -index 9d9876c..ea96a3b 100644 ---- a/libparted/labels/gpt.c -+++ b/libparted/labels/gpt.c -@@ -4,7 +4,7 @@ - original version by Matt Domsch Matt_Domsch@dell.com - Disclaimed into the Public Domain - -- Portions Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc. -+ Portions Copyright (C) 2001-2003, 2005-2010 Free Software Foundation, Inc. - - EFI GUID Partition Table handling - Per Intel EFI Specification v1.02 -@@ -932,9 +932,9 @@ gpt_read (PedDisk *disk) - if (primary_gpt && backup_gpt) - { - /* Both are valid. */ -+#ifndef DISCOVER_ONLY - if (PED_LE64_TO_CPU (primary_gpt->AlternateLBA) < disk->dev->length - 1) - { --#ifndef DISCOVER_ONLY - switch (ped_exception_throw - (PED_EXCEPTION_ERROR, - (PED_EXCEPTION_FIX | PED_EXCEPTION_CANCEL -@@ -954,8 +954,12 @@ gpt_read (PedDisk *disk) - write_back = 0; - break; - } --#endif /* !DISCOVER_ONLY */ - } -+ else -+ { -+ write_back = 0; -+ } -+#endif /* !DISCOVER_ONLY */ - gpt = primary_gpt; - pth_free (backup_gpt); - } -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 7bfb22e..38922f6 100644 ---- a/tests/Makefile.in -+++ b/tests/Makefile.in -@@ -9,6 +9,7 @@ TESTS = \ - t0200-gpt.sh \ - t0201-gpt.sh \ - t0202-gpt-pmbr.sh \ -+ t0205-gpt-list-clobbers-pmbr.sh \ - t0220-gpt-msftres.sh \ - t0250-gpt.sh \ - t0280-gpt-corrupt.sh \ -@@ -1261,6 +1261,8 @@ t0201-gpt.sh.log: t0201-gpt.sh - @p='t0201-gpt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) - t0202-gpt-pmbr.sh.log: t0202-gpt-pmbr.sh - @p='t0202-gpt-pmbr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) -+t0205-gpt-list-clobbers-pmbr.sh.log: t0205-gpt-list-clobbers-pmbr.sh -+ @p='t0205-gpt-list-clobbers-pmbr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) - t0220-gpt-msftres.sh.log: t0220-gpt-msftres.sh - @p='t0220-gpt-msftres.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) - t0250-gpt.sh.log: t0250-gpt.sh -diff --git a/tests/t0205-gpt-list-clobbers-pmbr.sh b/tests/t0205-gpt-list-clobbers-pmbr.sh -new file mode 100644 -index 0000000..979a15e ---- /dev/null -+++ b/tests/t0205-gpt-list-clobbers-pmbr.sh -@@ -0,0 +1,59 @@ -+#!/bin/sh -+# Ensure that printing a GPT partition table does not modify the pMBR. -+# Due to a bug in parted-2.1, "parted /dev/... print" would do just that. -+# Not a problem for most, but if you have a hybrid, e.g., gptsync'd -+# GPT/MBR table, merely listing the table with Parted-2.1 would clobber -+# the MBR part. -+ -+# Copyright (C) 2010 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/. -+ -+if test "$VERBOSE" = yes; then -+ set -x -+ parted --version -+fi -+ -+: ${srcdir=.} -+. $srcdir/t-lib.sh -+ -+fail=0 -+ -+ss=$sector_size_ -+n_sectors=400 -+dev=dev-file -+ -+dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 -+parted -s $dev mklabel gpt || fail=1 -+parted -s $dev mkpart p1 101s 150s || fail=1 -+parted -s $dev mkpart p2 151s 200s || fail=1 -+parted -s $dev mkpart p3 201s 250s || fail=1 -+ -+parted -m -s $dev u s p || fail=1 -+ -+# Write non-NUL bytes all over the MBR, so we're likely to see any change. -+# However, be careful to leave the type of the first partition, 0xEE, -+# as well as the final two magic bytes. -+printf '%0450d\xee%059d\x55\xaa' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1 -+ -+dd if=$dev of=before count=1 || fail=1 -+ -+chmod a-w $dev -+parted -m -s $dev u s p || fail=1 -+ -+dd if=$dev of=after count=1 || fail=1 -+ -+cmp before after || fail=1 -+ -+Exit $fail --- -1.6.6 - diff --git a/parted/patches/parted-2.1-mem-leak-fixes-rh556012.patch b/parted/patches/parted-2.1-mem-leak-fixes-rh556012.patch deleted file mode 100644 index 01129ae..0000000 --- a/parted/patches/parted-2.1-mem-leak-fixes-rh556012.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 358c9846a014247605d8da47b6917cac1344de00 Mon Sep 17 00:00:00 2001 -From: Jim Meyering meyering@redhat.com -Date: Fri, 15 Jan 2010 20:14:38 +0100 -Subject: [PATCH] dos: don't leak a constraint upon partition-add failure - -* libparted/labels/dos.c (read_table): Free constraint upon failure. ---- - libparted/labels/dos.c | 9 +++++---- - 1 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/libparted/labels/dos.c b/libparted/labels/dos.c -index 6b8d6cb..339acf4 100644 ---- a/libparted/labels/dos.c -+++ b/libparted/labels/dos.c -@@ -873,7 +873,6 @@ read_table (PedDisk* disk, PedSector sector, int is_extended_table) - PedPartition* part; - PedPartitionType type; - PedSector lba_offset; -- PedConstraint* constraint_exact; - - PED_ASSERT (disk != NULL, return 0); - PED_ASSERT (disk->dev != NULL, return 0); -@@ -944,10 +943,12 @@ read_table (PedDisk* disk, PedSector sector, int is_extended_table) - if (type != PED_PARTITION_EXTENDED) - part->fs_type = ped_file_system_probe (&part->geom); - -- constraint_exact = ped_constraint_exact (&part->geom); -- if (!ped_disk_add_partition (disk, part, constraint_exact)) -- goto error; -+ PedConstraint *constraint_exact -+ = ped_constraint_exact (&part->geom); -+ bool ok = ped_disk_add_partition (disk, part, constraint_exact); - ped_constraint_destroy (constraint_exact); -+ if (!ok) -+ goto error; - - /* non-nested extended partition */ - if (part->type == PED_PARTITION_EXTENDED) { --- -1.6.3.3 - -From d0cec198183be0b9989e4bc729c2930c7cdfe545 Mon Sep 17 00:00:00 2001 -From: Jim Meyering meyering@redhat.com -Date: Fri, 15 Jan 2010 19:53:36 +0100 -Subject: [PATCH] gpt: don't leak a constraint upon partition-add failure - -* libparted/labels/gpt.c (gpt_read): Free constraint upon failure. ---- - libparted/labels/gpt.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c -index 76537fd..9d9876c 100644 ---- a/libparted/labels/gpt.c -+++ b/libparted/labels/gpt.c -@@ -1020,7 +1020,6 @@ gpt_read (PedDisk *disk) - GuidPartitionEntry_t *pte - = (GuidPartitionEntry_t *) ((char *) ptes + i * p_ent_size); - PedPartition *part; -- PedConstraint *constraint_exact; - - if (!guid_cmp (pte->PartitionTypeGuid, UNUSED_ENTRY_GUID)) - continue; -@@ -1032,9 +1031,10 @@ gpt_read (PedDisk *disk) - part->fs_type = ped_file_system_probe (&part->geom); - part->num = i + 1; - -- constraint_exact = ped_constraint_exact (&part->geom); -+ PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); - if (!ped_disk_add_partition (disk, part, constraint_exact)) - { -+ ped_constraint_destroy (constraint_exact); - ped_partition_destroy (part); - goto error_delete_all; - } --- -1.6.3.3 - -From 952e4919befce199b096fd1bbde93ef7902239d3 Mon Sep 17 00:00:00 2001 -From: Jim Meyering meyering@redhat.com -Date: Fri, 15 Jan 2010 19:34:00 +0100 -Subject: [PATCH] gpt: do not leak a GPT header on an error path - -* libparted/labels/gpt.c (gpt_write): Avoid a leak by freeing the -header buffer after pth_get_raw call where it's used, but before -checking whether that pth_get_raw call succeeded. -Avoid another leak in identical just 10 lines down. -Add "FIXME: caution..." comments to warn about the duplication. ---- - libparted/labels/gpt.c | 12 ++++++++---- - 1 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c -index fe1f300..76537fd 100644 ---- a/libparted/labels/gpt.c -+++ b/libparted/labels/gpt.c -@@ -1208,11 +1208,13 @@ gpt_write (const PedDisk *disk) - goto error_free_ptes; - - /* Write PTH and PTEs */ -+ /* FIXME: Caution: this code is nearly identical to what's just below. */ - if (_generate_header (disk, 0, ptes_crc, &gpt) != 0) - goto error_free_ptes; -- if ((pth_raw = pth_get_raw (disk->dev, gpt)) == NULL) -- goto error_free_ptes; -+ pth_raw = pth_get_raw (disk->dev, gpt); - pth_free (gpt); -+ if (pth_raw == NULL) -+ goto error_free_ptes; - int write_ok = ped_device_write (disk->dev, pth_raw, 1, 1); - free (pth_raw); - if (!write_ok) -@@ -1222,11 +1224,13 @@ gpt_write (const PedDisk *disk) - goto error_free_ptes; - - /* Write Alternate PTH & PTEs */ -+ /* FIXME: Caution: this code is nearly identical to what's just above. */ - if (_generate_header (disk, 1, ptes_crc, &gpt) != 0) - goto error_free_ptes; -- if ((pth_raw = pth_get_raw (disk->dev, gpt)) == NULL) -- goto error_free_ptes; -+ pth_raw = pth_get_raw (disk->dev, gpt); - pth_free (gpt); -+ if (pth_raw == NULL) -+ goto error_free_ptes; - write_ok = ped_device_write (disk->dev, pth_raw, disk->dev->length - 1, 1); - free (pth_raw); - if (!write_ok) --- -1.6.3.3 - -From 19b072592a7a551a861c200be58aef04a7546fb9 Mon Sep 17 00:00:00 2001 -From: Jim Meyering meyering@redhat.com -Date: Fri, 15 Jan 2010 18:56:37 +0100 -Subject: [PATCH] libparted: avoid double-free on an OOM failure path - -* libparted/disk.c (ped_disk_check): Don't double-free "fs_size". ---- - libparted/disk.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/libparted/disk.c b/libparted/disk.c -index c14d005..2d27b7c 100644 ---- a/libparted/disk.c -+++ b/libparted/disk.c -@@ -632,7 +632,9 @@ ped_disk_check (const PedDisk* disk) - walk->num, part_size, fs_size); - - free (part_size); -+ - free (fs_size); -+ fs_size = NULL; - - if (choice != PED_EXCEPTION_IGNORE) - return 0; --- -1.6.3.3 - diff --git a/parted/patches/parted-2.1-needs_clobber-rh566181.patch b/parted/patches/parted-2.1-needs_clobber-rh566181.patch deleted file mode 100644 index 50be7c5..0000000 --- a/parted/patches/parted-2.1-needs_clobber-rh566181.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 38fe6955c11a8bbcdda050401f46abe25dced000 Mon Sep 17 00:00:00 2001 -From: Hans de Goede hdegoede@redhat.com -Date: Thu, 18 Feb 2010 14:24:32 +0100 -Subject: [PATCH parted] libparted: copy needs_clobber value in ped_disk_duplicate() - -Most duplicate disk_ops use ped_disk_new_fresh, which sets needs_clobber -to 1. This would lead to clobbering the disk when committing a duplicate -disk even when the original disk was not made with ped_disk_new_fresh. -* libparted/disk.c (ped_disk_duplicate): copy needs_clobber value. ---- - libparted/disk.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/libparted/disk.c b/libparted/disk.c -index b819d59..fc5ef17 100644 ---- a/libparted/disk.c -+++ b/libparted/disk.c -@@ -276,6 +276,9 @@ ped_disk_duplicate (const PedDisk* old_disk) - } - if (!_disk_pop_update_mode (new_disk)) - goto error_destroy_new_disk; -+ -+ new_disk->needs_clobber = old_disk->needs_clobber; -+ - return new_disk; - - error_destroy_new_disk: --- -1.7.0 -
hooks/post-receive -- IPFire 3.x development tree