GNU Parted - News
parted-3.1 released [stable]
Item posted by Jim Meyering <meyering> on Fri 02 Mar 2012 06:05:56 PM UTC.
This is to announce parted-3.1, a bug fix release that also reintroduces
a minimal subset of the file system resizing capability that was removed
in 3.0. It adds a new, separate library, libparted-fs-resize, that
provides for resizing of FAT and HFS/HFS+ file systems.
See the NEWS below for a summary of noteworthy changes.
Here is Parted's home page:
http://www.gnu.org/software/parted/
For a summary of all changes and contributors, see:
http://git.debian.org/?p=parted/parted.git;a=shortlog;h=v3.1
or run this command from a git-cloned parted directory:
git shortlog v3.0..v3.1 (appended below)
To summarize the 1500+ gnulib-related changes, run these commands
from a git-cloned parted directory:
git checkout v3.1
git submodule summary v3.0
Here are the compressed sources and a GPG detached signature[*]:
http://ftp.gnu.org/gnu/parted/parted-3.1.tar.xz
http://ftp.gnu.org/gnu/parted/parted-3.1.tar.xz.sig
Use a mirror for higher download bandwidth:
http://ftpmirror.gnu.org/parted/parted-3.1.tar.xz
http://ftpmirror.gnu.org/parted/parted-3.1.tar.xz.sig
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify parted-3.1.tar.xz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.68b.1-36a2
Automake 1.11a
Gettext 0.18.1
Gnulib v0.0-6913-g50bb21e
Gperf 3.0.4
NEWS
* Noteworthy changes in release 3.1 (2012-03-02) [stable]
** New features
parted now supports up to 64 msdos partitions (was 16). The partition
table format imposes no limit (it's simply a linked list), so we may
raise it further, if needed.
parted has improved support for partitionable loopback devices
parted provides a new library, libparted-fs-resize, for resizing
HFS+ and FAT file systems. This is the subset of the FS-manipulation
functionality removed in parted-3.0 for which we have found no free
alternative. That library provides only these entry points:
ped_file_system_close
ped_file_system_get_resize_constraint
ped_file_system_open
ped_file_system_resize
so when using it you must also link with libparted.
** Bug fixes
libparted: avoid an invalid free when creating many partitions in
a GPT partition table. [bug introduced in parted-1.9.0]
The msdos partition table claimed a maximum partition count of 16
but would allow you to go beyond that. This resulted in the kernel
not being informed of those partitions. Corrected to enforce the
limit.
parted now exits nonzero for certain failures already diagnosed as "Error".
For example, before this change, parted would exit successfully in spite
of "Error: ...unrecognised disk label" and "Error:... both GPT primary
and backup partition tables are corrupted".
libparted: given a GPT table with a partition table array of length, say 9,
(usually, there are at least 128 entries) and when run in interactive mode
with the backup header not at the end of the device where it belongs, parted
would offer to fix it by moving the backup header to the end. If you
accepted, parted could corrupt both headers, truncating their on-disk
PTE arrays. Now, parted handles this case.
libparted: gpt_disk_duplicate now copies the flags over to the new
disk object. Previously the flags would be undefined.
libparted can now read partition tables with a number of partition
array entries that is different from the default of 128. Before,
it would fail to recognize them and could even read beyond the end
of a heap-allocated buffer.
libparted: no longer aborts (failed assertion) due to a nilfs2_probe bug
[bug introduced in parted-2.4 with the addition of nilfs2 support]
libparted: no longer aborts when reading a truncated GPT-formatted device
[bug present at least as far back as RHEL4's parted-1.6.19]
libparted: works with a two-component linux kernel version number like 3.0
[bug present since the beginning]
libparted: strengthen the pc98 test so that it is much less likely to
cause an MSDOS partition table to be mistakenly identified as pc98.
[bug present since the beginning]
libparted no longer gets a failed assertion when probing a partition
with an HFS or HFS+ signature, but with invalid ->total_blocks and/or
->block_size values.
parted now uses ext_range device sysfs attribute to determine maximum number
of partitions the device can hold. With this change, parted now correctly
informs kernel about new partitions on partitionable MD RAID devices.
libparted: creating a new partition table on a device with an existing
mac partition table could result in a failed assertion.
** Changes in behavior
Floppy drives are no longer scanned on linux: they cannot be partitioned
anyhow, and some users have a misconfigured BIOS that claims to have a
floppy when they don't, and scanning gets hung up.
parted: the mkpart command has changed semantics with regard to specifying
the end of the partition. If the end is specified using units of MiB, GiB,
etc., parted subtracts one sector from the specified value. With this
change, it is now possible to create partitions like 1MiB-2MiB, 2MiB-3MiB
and so on.
Device-mapper devices ( LVM, dmraid ) no longer insert a 'p' between the
base device name and the partition number unless the last character of
the base device name is a digit. This brings parted into compliance with
the partition naming of kpartx and "linux since the dawn of time", but
differs from the way that dmraid 1.0.0-rc16-3 operates. A patch to
correct dmraid has been submitted to ataraid-list@redhat.com. Without
this patch, parted and dmraid will both create duplicate partition devices
named /dev/mapper/foo1 and /dev/mapper/foop1.
Add the ability to set the boot flag on the GPT PMBR. This is needed
for some BIOS systems that refuse to boot from GPT unless this is set.
disk_set and disk_toggle commands can be used to set the pmbr_boot
flag on the disk.
The flag is also displayed in a new line, 'Disk Flags:' like this:
Model: (file)
Disk /home/bcl/disk.img: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot
Using -m the flags are added after the model name field:
/root/disk.img:4295MB:file:512:512:gpt::pmbr_boot;
** Build-related
"make dist" no longer builds .tar.gz files.
xz is portable enough and in wide-enough use that distributing
only .tar.xz files is enough.
================================================================
Here is a log of the commits since parted-3.0:
Brian C. Lane (14):
libparted: fix snap radius so that it is using half (#665496)
libparted: don't allow values less than 1 (#665496)
tests: add test for radius divide by 2 fix
tests: add test for value less than 1
libparted: make pc98 detection depend on signatures
tests: add tests for new pc98 signatures (#646053)
libparted: copy flags when duplicating GPT partitions
tests: add new test to check ped_disk_duplicate
tests: t9030 wait for partition removal
libparted: HFS/HFS+ probe: don't let a corrupt FS evoke failed assertion
parted: when printing, also print the new disk flags
tests: update tests for new disk flags output
tests: add test for GPT PMBR pmbr_boot flag
doc: update parted documentation
Christoph Hellwig (1):
tests: add FS-resize test driver
H. Peter Anvin (1):
libparted: simplify kernel version-parsing logic
Jim Meyering (90):
post-release administrivia
libparted: accommodate two-component linux version number like 3.0
maint: prefer AC_PROG_LIBTOOL over slightly deprecated AM_PROG_LIBTOOL
libparted: avoid invalid diagnostic in interactive mode
gpt: don't abort for a truncated GPT-formatted device
libparted: fix a bug in the nilfs2 probe function
tests: test for the nilfs2 bug
doc: mention the origin of the other two bugs
build: avoid new syntax-check failure
build: update gnulib to latest; adapt use of _GL_ATTRIBUTE_FORMAT
maint: correct two comments in gpt.c
tests: adjust a test to make its failure easier to diagnose
parted: exit nonzero for certain failures already diagnosed as "Error"
gpt: don't misbehave with e.g., a 9-entry partition array
tests: rewrite/complete GPT-munging perl script
tests: exercise the "GPT vs other-sized partition entry arrays" fixes
tests: add a helper function
tests: exercise and document the HFS-probe bug fix
build: stop distributing gzip'd releases; xz is enough
build: update gnulib submodule to latest
maint: adjust the URL that will appear in the generated announcement
build: update gnulib submodule to latest
maint: "make distcheck" now runs the root-only tests
tests: fix test for udevadm
tests: skip a test if Perl's Digest::CRC module is not installed
maint: a little defensive programming in a test script
tests: use "compare exp out", not "compare out exp"
tests: two more of these: use "compare exp out", not "compare out exp"
build: tweak how bootstrap manages ChangeLog
build: avoid new float-to-double warnings
build: mark functions with "const" or "pure" attribute, per gcc warnings
build: configure.ac: use -Wno-format-nonliteral
build: address a new "noreturn" suggestion
build: update gnulib submodule to latest
maint: update all copyright year number ranges
tests: fix a bug in wait_for_dev_to_disappear_ helper function
libparted: remove _blkpg_get_partition
tests: skip loop-partitioning tests when ext_range is < 2
tests: fix misleading mkpart usage
libparted: don't use _GL_ATTRIBUTE_CONST in public parted.h, ...
gpt: eliminate four PED_ASSERT uses
libparted: gpt: a smaller device need not render both headers invalid
build: update to latest from gnulib
build: appease gcc's -Werror=suggest-attribute=pure
build: fix "make distcheck" failure
tests: root-only test would fail to remove its loop device
parted.h: use _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE in VC'd files
maint: rename public .h files to .in.h
build: correct my typo in preceding commit
maint: hoist libparted/fs/*/Makefile.am into parent Makefile.am
build: .gitignore: ignore more
maint: remove "MAINTAINERCLEANFILES = Makefile.in" from Makefile.am's
libparted: provide a new convenience function: ptt_geom_clear_sectors
maint: avoid long-standing warnings from make:
maint: remove useless BUILD_LINUX conditional
build: use LT_INIT, to make bootstrap run libtoolize
build: don't use -version for convenience libraries
build: revert the recent "fix" to avoid make warnings about linux.lo
maint: clean-up preparing for bug fix
libparted: gpt: rewrite even a 9-partition-entry table properly
tests: test for yesterday's bug fix
libparted: gpt: avoid invalid free with many (~100) partitions
tests: exercise today's bug fix, creating a GPT table with 128 entries
tests: create 128 partitions also in the scsi-backed test
libparted: remove ped_realloc, now unused
tests: avoid relatively harmless new "make syntax-check" failure
ui: rewrite disk_print_flags and partition_print_flags
maint: adjust the URL that will appear in the generated announcement
libparted: gpt: avoid heap-read-overrun when rewriting 9-PTE table
tests: set PARTED_TEST_NAME, for valgrind
maint: remove now-unused fat-related functions
lib-fs-resize: re-add HFS and FAT file-system-related code
maint: update copyrights in r/
lib-fs-resize: add wrappers for open,close,resize,get_resize_constraint
lib-fs-resize: rewrite ped_file_system_clobber
maint: remove r/hfs/DOC,HISTORY,TODO; add VERSION for new library
lib-fs-resize: use linker script to expose only selected functions
tests: test FAT and HFS file system resizing
doc: mention HFS+/FAT file system resizing in NEWS
maint: placate syntax-check wrt tests/fs-resize.c
build: avoid non-srcdir build failure
build,test: update gnulib, bootstrap and init.sh
tests: skip failing use of mkfs.hfs unless using newer, fixed version
tests: sanitize PATH; do not discard mkswap output
doc: improve NEWS
libparted: avoid unwarranted failed assertion during mklabel
lib-fs-resize: remove unused probe-related code
maint: update README-release to reflect we now have two libraries
maint: bump library version to 2.0.0
version 3.1
Keshav P R (2):
build: update AC_CONFIG_SRCDIR for non-srcdir-from-clone builds
build: insert -I$(top_builddir)/include before -I$(top_srcdir)/include
Matthew Garrett (1):
gpt: add commands to manipulate pMBR boot flag
Petr Uzel (19):
dvh: factor out read_sector and use ptt_read_sector
libparted: differentiate between plain files and loop devices
libparted: improve support for partitions on loopback devices
tests: add test for partitionable loop devices
libparted: check return value from ped_geometry_init
parted: remove obsolete comments
build: ignore more generated files
libparted: optimize _disk_sync_part_table
libparted: do not call _device_get_partition_range() twice
maint: unmark PedDeviceType as deprecated
libparted: do not omit last sector when creating full-dev geometry
tests: verify that 'udevadm settle' is available
doc: update manpage
parted: make a warning message more informative
parted: mkpart: DWIM for IEC ending sector numbers like 2MiB and 9GiB
tests: exercise the new feature
build: gitignore tests/duplicate
libparted: use ext_range to find out largest possible partition
tests: test for partitions on mdraid
Phillip Susi (9):
Add partition separator only when required
doc: add NEWS entry for "Add partition separator only when required"
tests: try harder to clean up scsi_debug
libparted: linux: exclude floppy from device scan
libparted: remove _loop_get_partition_range
libparted: remove has_partitions check to allow loopback partitions
libparted: avoid the HDIO_GETGEO ioctl when possible
libparted: enforce dos partition limit
libparted: raise dos partition limit from 16 to 64
Richard W.M. Jones (3):
parted: strlist print functions can now send output to any FILE *
parted: write a few errors and warnings to stderr instead of stdout
tests: fix the tests for the case where stdout/stderr is different
Robert Herndon (1):
gpt: prepare for tables with n_partition_array_entries != 128
Stefano Lattarini (2):
tests: TEST_ENVIRONMENT simplified and made more robust
tests: use more portable fd redirection in TESTS_ENVIRONMENT
Powered by Savane 3.14-d582.
Corresponding source code