Ubuntu

Please SRU micro bug fix release of e2fsprogs 1.42.5-1ubuntu2 (main) from Quantal (main)

Reported by Scott Moser on 2012-04-10
52
This bug affects 6 people
Affects Status Importance Assigned to Milestone
e2fsprogs (Baltix)
Medium
Mantas Kriaučiūnas
e2fsprogs (Debian)
Fix Released
Unknown
e2fsprogs (Ubuntu)
High
Dimitri John Ledkov
Precise
High
Dimitri John Ledkov
Quantal
High
Dimitri John Ledkov

Bug Description

== Impact ==
* fixes multiple file system corruption bugs
* fixes potential data loss
* reduces LTS maintenance, due to synchronisation with Wheezy (1.42.4-3) and quantal (1.42.4-3ubuntu1)
* This is not a MicroReleaseUpload, as impact is in line with current SRU policies

== other (questionable) changes ==
* translations updates
* API/ABI compatible - symbols file updated to released version numbers (TODO check)
* hardening build flags enabled for -static package
* for other changes see debian/changelog below and the Release Notes
http://e2fsprogs.sourceforge.net/e2fsprogs-release.html

== debian/changelog since last release in Precise ==

Source: e2fsprogs
Version: 1.42.4-3ubuntu1~12.04.1
Distribution: precise-proposed
Urgency: medium
Date: Mon, 25 Jun 2012 15:48:41 +0100
Closes: 646629 646963 654457 663237 665427 665885 674453 674694
Changes:
 e2fsprogs (1.42.4-3ubuntu1~12.04.1) precise-proposed; urgency=low
 .
   * Upstream micro bug fix point release SRU (LP: #978012)
     - changes included up to and including 1.42.4-3ubuntu1
 .
 e2fsprogs (1.42.4-3ubuntu1) quantal; urgency=low
 .
   * Merge from Debian unstable (LP: #978012), remainging changes:
     - debian/control.in:
         Build-depend on gettext:any instead of on gettext for (cross-building)
         Drop build dependency on dc, which hasn't been needed for some time.
         Update maintainer field.
     - debian/rules:
         Block pkg-create-dbgsym from operating on this package.
         Build without dietlibc-dev, which is in universe
     - debian/control:
         Regenerate with ./debian/rules debian/control
 .
 e2fsprogs (1.42.4-3) unstable; urgency=medium
 .
   * Add the -C option to chattr's usage message
   * Fix e2fsprogs so it is blhc (build log hardening check) clean. This
     fixed e2fsck.static which previously was not getting built with the
     security hardening flags.
 .
 e2fsprogs (1.42.4-2) unstable; urgency=medium
 .
   * Fix FTBFS problem on the hurd and freebsd platforms
 .
 e2fsprogs (1.42.4-1) unstable; urgency=medium
 .
   * New upstream version
   * Fix 64-bit block number bugs in e2fsck, dumpe2fs, and debugfs which
     could corrupt file systems
   * Fixed e2fsck's handling of how errors propagate from the journal to
     the file system superblock
   * Fixed a false positive complaint from e2fsck if all of the extents
     in the last extent block are uninitialized and located after the
     end of the file.
   * dumpe2fs will display the journal's error indicator in the
     superblock if it is set
   * Fixed a bug which caused e2fsck to incorrectly use O_EXCLUSIVE in
     some corner cases.
   * Fix truncation of extent-mapped inodes in e2fsck and libext2fs
   * Fixed i_blocks accounting in bigalloc file systems.
   * Add support for btrfs's No_COW flag to lsattr and chattr
   * Debugfs interprets the date strings of the form "@ddd" as ddd
     seconds after the epoch
   * Updated/fixed various man pages (Closes: #674453, #674694)
 .
 e2fsprogs (1.42.3-1) unstable; urgency=low
 .
   * New upstream version
   * Fix bugs on 32-bit systems which could corrupt > 16TB file systems
   * Quiet complaints in e2fsck when the total free blocks or inodes are
     incorrect in the superblock after an system crash, since we don't
     update nor depend on the superblock summaries at each commit boundary
   * Fixed support for (hidden) quota files built into ext4; in
     particular, don't rewrite the quota inode unless the quotas are
     inconsistent
   * Optimized reading and writing bitmaps if direct I/O was enabled
   * Update Czech, Dutch, French, German, Polish, Sweedish, and
     Vietnamese translations
   * Fixed incorrect indentation in tune2fs man page
   * Update debian policy compliance to 3.9.3
 .
 e2fsprogs (1.42.2-2ubuntu1) quantal; urgency=low
 .
   * Merge from Debian unstable (LP: #978012), remainging changes:
     - debian/control.in:
         Build-depend on gettext:any instead of on gettext for (cross-building)
         Drop build dependency on dc, which hasn't been needed for some time.
         Update maintainer field.
     - debian/rules:
         Block pkg-create-dbgsym from operating on this package.
         Build without dietlibc-dev, which is in universe
     - debian/control:
         Regenerate with ./debian/rules debian/control
 .
 e2fsprogs (1.42.2-2) unstable; urgency=low
 .
   * Fixed e2fsck.conf's man page (Closes: #646963)
   * Fixed 32-bit binary compatibility problem for the libext2fs shared
     library introduced in 1.42.2
   * mke2fs will no longer fail if the /etc/mtab file is not present
 .
 e2fsprogs (1.42.2-1) unstable; urgency=low
 .
   * New upstream version
   * Fixed various man pages (Closes: #665427)
   * Speed up resize2fs for large file systems (Closes: #663237)
   * Be less strict about the EXT4_EOFBLOCKS_FL flag (which will
     eventually be going away in the ext4 file system format)
   * Teach mke2fs to use direct I/O if the -D option is given
   * Print errors returned by ext2fs_open2() and ext2fs_check_desc() so
     we can more easily diagnose memory allocation failures caused by
     insufficient memory and abort on memory allocation failures
   * E2fsck can now write log files containing the details of the
     problems that were found and fixed directly.
   * E2fsck can now limit the number of messages issued and printed on
     the console
   * The dumpe2fs, debugfs, and tune2fs now use rbtree bitmaps, which
     cause them to use much less memory for large file systems.
   * E2fsck will now check for zero-length extents, since older kernels will
     OOPS if they comes across one
   * Fix e2fsck's discard behaviour so it does not discard too many
     blocks, and it will not use discard if the device advertises
     that discard does not persistently zero data. Also, if e2fsck is
     run in read-only mode, do not try to discard data.
   * Fix mke2fs -S so it does not corrupt the first block group's
     information.
   * Add pointer for e2fsprogs-udeb to libcomerr2.shlibs (Closes: #665885)
 .
 e2fsprogs (1.42.1-2) unstable; urgency=low
 .
   * Fix the fact that dpkg-buildflags was being ignored due to a
     bash'ism in debian/rules.
   * Check the new /sys/class/power_supply/AC/online since
     /proc/acpi/ac_adapter/... is deprecated and may not be present on
     newer kernels.
 .
 e2fsprogs (1.42.1-1) unstable; urgency=low
 .
   * New upstream release
   * dpkg-buildflags is now used if it is present. This allows Debian
     Wheezy to build with security hardened build flags. (Closes: #654457)
   * mke2fs and e2fsck now use much less memory for large file systems
   * Fixed mke2fs -S so it can be usefully used as a last ditch recovery
     command when for ext4 filesystems that have the uninit_bg feature enabled.
   * The mke4fs argv[0] is now recognized by mke2fs.
   * Fixed usage and help messages for mke2fs.
   * Eliminated spurious bad block group checksum warnings when e2fsck
     falls back to using the backup group descriptors.
   * Debugfs's ncheck command is now much more useful when used to
     diagnose badly corrupted file system. Added a new -c option.
   * Fixed bug in e2image which could cause it to fail to set i_size
     correctly if the last hole in the file is an exact multiple of a
     megabyte.
   * Fixed a bug with resize2fs where for 1k and 2k file systems, the
     minimum file size used for resize2fs -M could be a block too small.
   * Fixed the badblocks program to honor the -s flag when in read-only -t
     mode. (Closes: #646629)
   * Update Czech, Dutch, French, Polish, and Swedish translations
 .

== Original Request / Request of Debian Maintainer & Upstream ==

Please see: https://bugs.launchpad.net/ubuntu/precise/+source/e2fsprogs/+bug/978012/comments/2

Release notes for e2fsprogs 1.4 - 1.4.4 are at http://e2fsprogs.sourceforge.net/e2fsprogs-release.html

== Test case ==
* Quantal alpha 2 testing
* Precise daily-iso testing
* Testing of >16TB filesystems (non-trivial, hard)
* Testing individual bugs from release-notes
* Regression testing

== Regression Potential ==
* Minimal, as it is stable upstream bug fix releases for critical and high bug fixes only. Tested upstream, in debian and other distributions
* But it is an SRU for the default file system

Scott Moser (smoser) wrote :
Theodore Ts'o (tytso) wrote :

The biggest deal why Ubuntu should strongly consider going to 1.42.2-2 is a number of discard fixes that can end up accidentally destroy file system data; there was a bug that could accidentally cause part of the inode table containing in-use inodes to get discarded, and mke2fs -n would trigger a discard when it shouldn't. Fortunately, using discard is not the default; but users tend to get cranky when their file system gets trashed...

There are a large number of other bugs that have been fixed since 1.42-1; see the RELEASE-NOTES file or the debian/changelog file for more details.

Also note that 1.42.2-2 in debian has a number of bug fixes above and beyond the upstream 1.42.2. 1.42.2-2 is basically what will end up becoming 1.42.3 pending getting updated translations from the Translation Project. (Plus any emergency bug fixes that gets discovered in Debian unstable, although I don't expect much since the number of changes between 1.42.2 and 1.42.3 is going to be minimal.)

Theodore Ts'o (tytso) wrote :

Sorry, in case it wasn't obvious, 1.42.2-2 contains fixes which address bugs in the discard handling of e2fsck....

Changed in e2fsprogs (Ubuntu):
importance: Undecided → High
Changed in e2fsprogs (Ubuntu Precise):
importance: Undecided → High
milestone: none → ubuntu-12.04.1
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Dimitri John Ledkov (xnox) wrote :

I have already merged this for quantal, but I wasn't sure if I had to wait until 1.42.3 to get the regression fixes. Announced as part of 1.42.3 release. Thanks for notification that 1.42.2-2 is safe in that regard.

Changed in e2fsprogs (Ubuntu Precise):
assignee: Canonical Foundations Team (canonical-foundations) → Dmitrijs Ledkovs (dmitrij.ledkov)
Adam Conrad (adconrad) on 2012-05-22
Changed in e2fsprogs (Ubuntu):
assignee: nobody → Dmitrijs Ledkovs (dmitrij.ledkov)
Changed in e2fsprogs (Ubuntu):
status: New → Fix Committed
Theodore Ts'o (tytso) wrote :

The main fixes between 1.42.2-2 and 1.42.3 are fixes for in-filesystem (hidden) quota support, and some fixes for > 16TB file systems for 32-bit x86 machines. However it turns out there are some additional > 16TB bugs (for all architectures) that I only recently noticed, so there will be a 1.42.4 coming in short order. At this point the only thing going into 1.42.x series will be very minor (and thus low-risk) and/or very high priority bug fixes.

i.e., right now in all unreleased versions of 1.42.x e2fsprogs, replaying a journal on a > 16TB file system could result in corruption of the file system and/or data. So that would make the cut for 1.42.4. :-/

... and so 1.42.4 will probably be forthcoming very soon....

Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package e2fsprogs - 1.42.2-2ubuntu1

---------------
e2fsprogs (1.42.2-2ubuntu1) quantal; urgency=low

  * Merge from Debian unstable (LP: #978012), remainging changes:
    - debian/control.in:
        Build-depend on gettext:any instead of on gettext for (cross-building)
        Drop build dependency on dc, which hasn't been needed for some time.
        Update maintainer field.
    - debian/rules:
        Block pkg-create-dbgsym from operating on this package.
        Build without dietlibc-dev, which is in universe
    - debian/control:
        Regenerate with ./debian/rules debian/control

e2fsprogs (1.42.2-2) unstable; urgency=low

  * Fixed e2fsck.conf's man page (Closes: #646963)
  * Fixed 32-bit binary compatibility problem for the libext2fs shared
    library introduced in 1.42.2
  * mke2fs will no longer fail if the /etc/mtab file is not present

e2fsprogs (1.42.2-1) unstable; urgency=low

  * New upstream version
  * Fixed various man pages (Closes: #665427)
  * Speed up resize2fs for large file systems (Closes: #663237)
  * Be less strict about the EXT4_EOFBLOCKS_FL flag (which will
    eventually be going away in the ext4 file system format)
  * Teach mke2fs to use direct I/O if the -D option is given
  * Print errors returned by ext2fs_open2() and ext2fs_check_desc() so
    we can more easily diagnose memory allocation failures caused by
    insufficient memory and abort on memory allocation failures
  * E2fsck can now write log files containing the details of the
    problems that were found and fixed directly.
  * E2fsck can now limit the number of messages issued and printed on
    the console
  * The dumpe2fs, debugfs, and tune2fs now use rbtree bitmaps, which
    cause them to use much less memory for large file systems.
  * E2fsck will now check for zero-length extents, since older kernels will
    OOPS if they comes across one
  * Fix e2fsck's discard behaviour so it does not discard too many
    blocks, and it will not use discard if the device advertises
    that discard does not persistently zero data. Also, if e2fsck is
    run in read-only mode, do not try to discard data.
  * Fix mke2fs -S so it does not corrupt the first block group's
    information.
  * Add pointer for e2fsprogs-udeb to libcomerr2.shlibs (Closes: #665885)

e2fsprogs (1.42.1-2) unstable; urgency=low

  * Fix the fact that dpkg-buildflags was being ignored due to a
    bash'ism in debian/rules.
  * Check the new /sys/class/power_supply/AC/online since
    /proc/acpi/ac_adapter/... is deprecated and may not be present on
    newer kernels.

e2fsprogs (1.42.1-1) unstable; urgency=low

  * New upstream release
  * dpkg-buildflags is now used if it is present. This allows Debian
    Wheezy to build with security hardened build flags. (Closes: #654457)
  * mke2fs and e2fsck now use much less memory for large file systems
  * Fixed mke2fs -S so it can be usefully used as a last ditch recovery
    command when for ext4 filesystems that have the uninit_bg feature enabled.
  * The mke4fs argv[0] is now recognized by mke2fs.
  * Fixed usage and help messages for mke2fs.
  * Eliminated spurious bad block group checksum warnings wh...

Read more...

Changed in e2fsprogs (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in e2fsprogs (Ubuntu Precise):
status: New → Confirmed
Theodore Ts'o (tytso) wrote :

note: 1.42.4 has been delayed because some additional >16TB bugs which have turned up. Fixes are in the git repository, but I probably won't get around to getting something fully tested and ready for release for another week.

summary: - Please merge e2fsprogs 1.42.2-2 (main) from Debian unstable (main)
+ Please merge e2fsprogs 1.42.4 (main) from Debian unstable (main), when
+ becomes available
Changed in e2fsprogs (Ubuntu):
status: Fix Released → Confirmed

Based on Dmitrijs this affects quantal. Accepting an explicit task to make tracking clearer.

tags: added: fs.oneplanning
Changed in e2fsprogs (Ubuntu Quantal):
milestone: none → quantal-alpha-3
summary: - Please merge e2fsprogs 1.42.4 (main) from Debian unstable (main), when
- becomes available
+ Please merge now available e2fsprogs 1.42.4-2 (main) from Debian
+ unstable (main)
Changed in e2fsprogs (Ubuntu Quantal):
status: Confirmed → In Progress

This bug was fixed in the package e2fsprogs - 1.42.4-3ubuntu1

---------------
e2fsprogs (1.42.4-3ubuntu1) quantal; urgency=low

  * Merge from Debian unstable (LP: #978012), remainging changes:
    - debian/control.in:
        Build-depend on gettext:any instead of on gettext for (cross-building)
        Drop build dependency on dc, which hasn't been needed for some time.
        Update maintainer field.
    - debian/rules:
        Block pkg-create-dbgsym from operating on this package.
        Build without dietlibc-dev, which is in universe
    - debian/control:
        Regenerate with ./debian/rules debian/control

e2fsprogs (1.42.4-3) unstable; urgency=medium

  * Add the -C option to chattr's usage message
  * Fix e2fsprogs so it is blhc (build log hardening check) clean. This
    fixed e2fsck.static which previously was not getting built with the
    security hardening flags.

e2fsprogs (1.42.4-2) unstable; urgency=medium

  * Fix FTBFS problem on the hurd and freebsd platforms

e2fsprogs (1.42.4-1) unstable; urgency=medium

  * New upstream version
  * Fix 64-bit block number bugs in e2fsck, dumpe2fs, and debugfs which
    could corrupt file systems
  * Fixed e2fsck's handling of how errors propagate from the journal to
    the file system superblock
  * Fixed a false positive complaint from e2fsck if all of the extents
    in the last extent block are uninitialized and located after the
    end of the file.
  * dumpe2fs will display the journal's error indicator in the
    superblock if it is set
  * Fixed a bug which caused e2fsck to incorrectly use O_EXCLUSIVE in
    some corner cases.
  * Fix truncation of extent-mapped inodes in e2fsck and libext2fs
  * Fixed i_blocks accounting in bigalloc file systems.
  * Add support for btrfs's No_COW flag to lsattr and chattr
  * Debugfs interprets the date strings of the form "@ddd" as ddd
    seconds after the epoch
  * Updated/fixed various man pages (Closes: #674453, #674694)

e2fsprogs (1.42.3-1) unstable; urgency=low

  * New upstream version
  * Fix bugs on 32-bit systems which could corrupt > 16TB file systems
  * Quiet complaints in e2fsck when the total free blocks or inodes are
    incorrect in the superblock after an system crash, since we don't
    update nor depend on the superblock summaries at each commit boundary
  * Fixed support for (hidden) quota files built into ext4; in
    particular, don't rewrite the quota inode unless the quotas are
    inconsistent
  * Optimized reading and writing bitmaps if direct I/O was enabled
  * Update Czech, Dutch, French, German, Polish, Sweedish, and
    Vietnamese translations
  * Fixed incorrect indentation in tune2fs man page
  * Update debian policy compliance to 3.9.3
 -- Dmitrijs Ledkovs <email address hidden> Thu, 14 Jun 2012 13:01:21 +0100

Changed in e2fsprogs (Ubuntu Quantal):
status: In Progress → Fix Released
summary: - Please merge now available e2fsprogs 1.42.4-2 (main) from Debian
- unstable (main)
+ Please SRU micro bug fix release of e2fsprogs 1.42.4-3ubuntu1 (main)
+ from Quantal (main)
description: updated
description: updated

This is a big diff - excluding translations, tests, and most of the autotools cruft, it's 151 files changed, 7506 insertions(+), 2072 deletions(-).

While data loss bugs in the filesystem tools are clearly high importance, and are difficult to reliably test, you've not broken out the bugs in such a way that we can validate the fixes.

I'm not confident in my ability to review these changes; I'll pull another SRU team member on.

Adam Conrad (adconrad) wrote :

I'll take the review on this one.

Theodore Ts'o (tytso) wrote :

If you want individual, broken out changes between v1.42.2 and v.142.4, you can get them from the git repository.

Stéphane Graber (stgraber) wrote :

Adam: any update on this?

If the new release is accepted as an SRU, I'd like to see this land ASAP so we can have a month to test it, land it and use it in the point release.

Chris Halse Rogers (raof) wrote :

I've assigned the Precise task to Adam, and given him a ping. This should get it on his radar.

Changed in e2fsprogs (Ubuntu Precise):
assignee: Dmitrijs Ledkovs (dmitrij.ledkov) → Adam Conrad (adconrad)
Steve Langasek (vorlon) on 2012-08-01
Changed in e2fsprogs (Ubuntu Precise):
milestone: ubuntu-12.04.1 → none
Changed in e2fsprogs (Debian):
status: Unknown → Fix Released
Dimitri John Ledkov (xnox) wrote :

Last time I spoke with Adam about this bug we agreed on reviewing & summarising the changes and coming up with test-cases that should pass before pushing such an SRU out. This did not happen yet, due to the large size of the proposed update.

Changed in e2fsprogs (Ubuntu Precise):
assignee: Adam Conrad (adconrad) → Dmitrijs Ledkovs (xnox)
Theodore Ts'o (tytso) wrote :

Note that there a large number of bug fixes in e2fsprogs 1.42.x maint branch since 1.42.4 at this point, including fixing bugs which can cause massive data corruption when using resize2fs on 64-bit file systems, as well as fixes to e2fsck, including bugs which could e2fsck to crash in some cases, as well as certain file system corruptions which older versions of e2fsck will fail to fix.

The changes are indeed large, but hey, that's why enterprise distros get paid the big bucks. If it's too hard, maybe the simpler thing to do is to make e2fsprogs available in a ppa, and simply telling users to use the ppa for the fixed versions of e2fsprogs.

Scott Moser (smoser) wrote :

I opened bug 1179610 as a specific request to backport the performance improvements to resize2fs.

summary: - Please SRU micro bug fix release of e2fsprogs 1.42.4-3ubuntu1 (main)
+ Please SRU micro bug fix release of e2fsprogs 1.42.5-1ubuntu2 (main)
from Quantal (main)
Changed in e2fsprogs (Baltix):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Mantas Kriaučiūnas (mantas)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.