Please sync e2fsprogs e2fsprogs 1.40.7-1 with Debian

Bug #197167 reported by Theodore Ts'o
30
Affects Status Importance Assigned to Milestone
e2fsprogs
Fix Released
Unknown
e2fsprogs (Ubuntu)
Fix Released
Undecided
Martin Pitt
Hardy
Fix Released
Undecided
Martin Pitt

Bug Description

Binary package hint: e2fsprogs

Hardy currently has 1.40.3-1; the latest release on e2fsprogs's current maintenance branch is 1.40.7. There are a number of pretty serious bugs that have been fixed since 1.40.3-1, especially:

Launchpad bug #187265, fsck: root primary superblock differs from backup immediately after install
   (which if past experience is any guide, will result in *many* launchpad bugs being filed as people complain about needless fsck's; the past set of complaints for people east of GMT time zone will be as nothing in comparison!)

Other important ones (the numbers below are debian bugs) include:

  * Fix blkid code to avoid segfaulting when a device mapper volume
      disappears out from under it.
  * Fix bug in the blkid library where cached filesystems was not being
      flushed when opening USB devices returned the error ENOMEDIUM.
      (Closes: #463787)
  * Avoid a floating point exception when blkid tries to probe a corrpt
      reiserfs filesystem.
  * Fix fsck to only treat '#' characters at the beginning of /etc/fstab
      lines as starting a comment. This avoids spurious warnings printed
      for filesystems such as fuse that often use '#' as part of the
      filesystem specifier (i.e., wdfs#https://dav.hoster.com/foo).
  * Fix potential integer overflows passed to malloc() in resize2fs
  * Fix potential divide by zero error when libblkid tried probing an
      invalid FAT filesystem.

The latest blkid changes are also going to be needed to allow a mount program to correctly support ext4. (Of course util-linux under Ubuntu is currently different from Debian in that it uses volid instead of blkid, but I'm not expecting Ubuntu to change that at this late date; I'll probably just post replacement packages for people who want to use the ext4 filesystem.)

Revision history for this message
James Westby (james-w) wrote :

Hi,

I subscribed ubuntu-main-sponsors, however maybe that wasn't
the right thing to do.

It seems as though this isn't a formal sync request, more of
a recommendation that we do the sync.

Theodore, is that correct? Has this version been tested on
Ubuntu?

Apologies if I created more work for someone.

Thanks,

James

Revision history for this message
Theodore Ts'o (tytso) wrote :

Sorry, I'm not necessarily conversant with all of the Ubuntu specific terminology and processes; perhaps sync request wasn't the right wording.

It *has* been tested on my Ubuntu Gutsy laptop, but it has *not* been tested on Hardy.

Also note that e2fsprogs has its own (fairly extensive) regression test suite, and of course that passes as well.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Subscribing ubuntu-release too.

Revision history for this message
Steve Langasek (vorlon) wrote :

As ubuntu-release has been subscribed, I infer that this package needs a freeze exception. Can someone provide the information needed per https://wiki.ubuntu.com/FreezeExceptionProcess#head-30ede7e753a6b6f62916161755507d4cc5d99e20 so that we can make an informed decision?

Changed in e2fsprogs:
status: New → Incomplete
Revision history for this message
Theodore Ts'o (tytso) wrote :
Revision history for this message
Theodore Ts'o (tytso) wrote :
Revision history for this message
Theodore Ts'o (tytso) wrote :

The testing which I have personally done is that I have built and run it on Ubuntu Gutsy; it passes the regression test suite and I have been using it on my production laptop without any problems. It definitely does upgrade correctly from the previous Ubuntu Gutsy version, as I regularly downgrade and upgrade e2fsprogs. I have not done any testing on Ubuntu Hardy.

The changes between 1.40.3 and 1.40.7 are upstream microreleases that are primarily bug fixes; there are some new filesystem types which blkid has been taught how to use, including being able to properly detect ext4/ext4dev filesystems which were needed to future-proof e2fsprogs. This is largely moot given that mount doesn't use the blkid library (which means mount will almost certainly fail to correctly detect and deal with ext4 filesystem on Ubuntu Hardy, but this is true regardless of whether you uplift e2fsprogs or not). The other big change of note was to fix Red Hat Bug #233471 / Sourceforge Bug #1529672 which required substantial changes to the uuid library, including an optional uuidd daemon which has been packaged in a new package, uuid-runtime. So it's a bug fix, but it's a biggy. This received extensive testing by Red Hat, Novell, and the Major Enterprise Resource Planning ISV that requested this bugfix.

Oh, one other change of note is that mke2fs will now create new filesystems with 256 byte inodes. This is brings a **significant** speedup on systems using SELinux and Samba, and provides better ext4 future-proofing (since many of ext4's new features require the larger 256-byte inode). This change is pretty easy to revert simply by changing the mke2fs.conf file, and this may have an impact on the installer.

As you look at the diffstats and the Release Notes, the changes are definitely quite substantial. But there have been a huge number of bug fixed, so therein lies the tradeoff. I can definitely see how the Ubuntu Release Team might in the end decide this is too risky, despite all of the bugs that had been fixed, as it is pretty late in the game. Your call.... (although if you don't my guess is someone is going to have to pull down a subset of patches since I suspect Launchpad #187265 in particular will get multiple complaints once Hardy gets a broader test audience)

Revision history for this message
Steve Langasek (vorlon) wrote :

AIUI, we don't have a version of grub yet in hardy that works with the 256-byte inodes; being able to boot trumps SELinux performance...

We should aim to get that grub fix into hardy anyway, but we shouldn't pull in an e2fsprogs that's going to create incompatible inodes until we're sure that's going to land.

Revision history for this message
Theodore Ts'o (tytso) wrote :

What Debian did in their installer is to simply ship a version of mke2fs.conf which changes the default inode size to 128 bytes. That's all you need to do, since that was all that was changed in the e2fsprogs package to effect the default.

But, yeah, I agree that being able to boot trumps SELinux performance. :-)

Revision history for this message
Theodore Ts'o (tytso) wrote :

Please note Launchpad #201437: [e2fsprogs] error message from fsck at restart after using tune2fs

Revision history for this message
disabled.user (disabled.user-deactivatedaccount) wrote :

Coming over from Bug #201437.

I'd say that fsck errors on each startup after using tune2fs wouldn't earn Ubuntu any laurels, especially for Hardy as an LTS release. So if e2fsprogs 1.40.7 cannot be integrated in Hardy for whatever reasons, I suggest that some hand-picked bug fixes should be backported to Hardy's e2fsprogs.

Revision history for this message
Theodore Ts'o (tytso) wrote :

I think I've submitted all of the information that has been requested.

Changed in e2fsprogs:
status: Incomplete → New
Revision history for this message
Theodore Ts'o (tytso) wrote :

E2fsprogs 1.40.8-1 just got uploaded to Debian. This was a pure bug-fix only release:

  * Fix e2image -I so it works on image files which are larger than 2GB.
  * Fix e2fsck's handling of directory inodes with a corrupt size field.
  * Fully fix a resize2fs bug where extended attributes in large inodes
      could get dropped on big-endian systems.
  * Update Czech, Dutch, Polish, Sweedish, and Vietnamese translations.
  * Significantly updated German translation! Thanks to Philipp Thomas
    from Novell for stepping up to be our new German translation
    maintainer! (Closes: #302512, #370247, #401092, #412882)
  * Fixed mke2fs man page to document new default inode size.

Revision history for this message
unggnu (unggnu) wrote :

I can confirm this. This issue still happens in Hardy. I can't change the max mount count or things like that since after reboot there is a forced fsck and the settings are reseted. Please integrate at least the patch which fixes the backup block issue.

Changed in e2fsprogs:
status: New → Confirmed
Changed in e2fsprogs:
status: Unknown → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

Looking at the d-i hack that Ted mentioned, it seems to have only been done for etch-1/2 installs (in the etch-support package) and is done in a policy-violating way (it modifies a conffile, which will cause trouble on later upgrades), so I'd rather not go that route. That said, we could avoid the grub problem by simply changing the default in the e2fsprogs package itself, if we wanted.

Revision history for this message
Colin Watson (cjwatson) wrote :

I've confirmed the nomination, largely in order to make sure this doesn't fall off our radar for 8.04.

Revision history for this message
Martin Pitt (pitti) wrote :

With current hardy's release status, I also vote for doing the sync, and changing the default back to 128 byte inodes in the conffile.

Revision history for this message
Martin Pitt (pitti) wrote :

I'll care for doing this after Hardy beta.

Changed in e2fsprogs:
assignee: nobody → pitti
status: Confirmed → In Progress
Revision history for this message
Theodore Ts'o (tytso) wrote :

My understanding of the d-i hack is that it modifies a conf file only for the ISO image, not on the actual installed system. So it shouldn't cause upgrade problems for the user.

It is true that if there were substantial changes in the mke2fs.conf file which required a config file update, this might cause problems for the d-i developers, but those would be caught in testing, and in any case (1) I'd warn them before doing anything like that, and (2) it's highly unlikely I would make any kind of backwards incompatible change since it would cause problems for the people who had their own customized mke2fs.conf already on their systems. (In general, I only add new tuning knobs to mke2fs.conf, and the defaults if something isn't specified is the previously hard-coded default; hence, there the need that a previously version of mke2fs.conf wouldn't be suitable is extremely rare.)

Revision history for this message
Colin Watson (cjwatson) wrote :

Mm, you're right, it does seem to be just the in-memory copy within d-i. Apologies for the false alarm.

In any case, since Steve has grabbed the necessary grub fix for the next upload (http://bazaar.launchpad.net/~ubuntu-core-dev/grub/ubuntu/revision/822), and since consensus seems to be simply to switch the default mke2fs.conf back to 128 across the board for Hardy, this shouldn't be an issue. The d-i hack was only necessary because they're supporting installs of etch using an installer mostly built on top of lenny, which isn't a problem we face.

Revision history for this message
Martin Pitt (pitti) wrote :

Uploading now. Theodore, thanks a lot for your detailled explanations!

Changed in e2fsprogs:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.3 KiB)

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

---------------
e2fsprogs (1.40.8-2ubuntu1) hardy; urgency=low

  * Synchronize to Debian to pull in a lot of bug fixes. (LP: #197167)
  * misc/mke2fs.conf: Switch back the default inode size from 256 to 128 for
    Hardy. Although our current grub now *should* get along with 256, this has
    not been sufficiently tested yet, so staying at 128 is a more appropriate
    conservative setting. (See above bug report for discussion.)
  * debian/control: Do not use dietlibc for ubuntu, it's in universe.

e2fsprogs (1.40.8-2) unstable; urgency=low

  * One more big-endian swap fix needed for resize2fs to work correctly
      with in-inode extended attributes.
  * Fix minor security issues identified in uuidd.
  * Remove e2fsprogs preinstall script which contained stuff not needed
      in well over two stable releases.

e2fsprogs (1.40.8-1) unstable; urgency=low

  * Fix e2image -I so it works on image files which are larger than 2GB.
  * Fix e2fsck's handling of directory inodes with a corrupt size field.
  * Fully fix a resize2fs bug where extended attributes in large inodes
      could get dropped on big-endian systems.
  * Update Czech, Dutch, Polish, Sweedish, and Vietnamese translations.
  * Significantly updated German translation! Thanks to Philipp Thomas
    from Novell for stepping up to be our new German translation
    maintainer! (Closes: #302512, #370247, #401092, #412882)
  * Fixed mke2fs man page to document new default inode size.

e2fsprogs (1.40.7-1) unstable; urgency=low

  * New upstream release
  * tune2fs no longer will remove the sparse_super feature, as it is dangerous
  * Update/clarified various man pages
  * Fix bug where large nodes were not getting fully copied when
      shrinking a fileystem using resize2fs.
  * Allow mke2fs and tune2fs to manipulate the large_file feature flag
  * Suppress fsck's warning message about an old-style fstab if the
      fstab file is empty. (Closes: #468176)
  * E2fsck will no longer clear the large_files feature flag
      automatically when there are no more large files in the system.
  * Fix blkid code to avoid segfaulting when a device mapper volume
      disappears out from under it.
  * Enhance e2fsck's reporting of unsupported filesystem features
  * Fix dumpe2fs command syntax for explicit superblock/blocksize parameters
  * Teach tune2fs to clear the resize_inode feature flag
  * Fix libuuid1 postinstall script to explicitly pass 100 to UID_MIN
      and GID_MIN, to make it clear we are not trying to allocate an
      uid/gid in the globally reserved range. (Closes: #466929)
  * Fix memory leak in ext2fs_alloc_block()
  * Teach blkid to recognize LVM2 physical volumes
  * Add support to dumpe2fs, mke2fs, and tune2fs for specifying and
      printing the RAID stride and stripe width.
  * Add support for new superblock fields to debugfs's set_super_value command
  * Teach debugfs to print "mostly-printable" xattr strings, such as is
      used by SELinux.
  * Add support in fsck to ignore mounted filesystems when given the -M option
  * Fix uuidd so it creates the pid file with the correct pid number
  * Update Cz...

Read more...

Changed in e2fsprogs:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
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.