newsGNU 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


Back to the top

Powered by Savane 3.14-d582.
Corresponding source code