Many checks in ext4_fill_super are checking for ro-compat features etc - for example, HUGE_FILES filesystems are denied rw mounts on a 32-bit box w/o LBD.
However, these tests aren't enforced on a ro->rw remount transition. This could potentially be bad, esp. as the normal boot process does a remount in this manner.
The tests probably need to be moved to a separate helper function that can be called by both the mount & remount paths. And in any case, ext4_fill_super could use some refactoring at 676 lines.
Sent a patch upstream for this:
Author: Eric Sandeen <email@example.com>
Date: Tue Aug 18 00:20:23 2009 -0400
ext4: Add feature set check helper for mount & remount paths
A user reported that although his root ext4 filesystem was mounting
fine, other filesystems would not mount, with the:
"Filesystem with huge files cannot be mounted RDWR without CONFIG_LBDAF"
error on his 32-bit box built without CONFIG_LBDAF. This is because
the test at mount time for this situation was not being re-checked
on remount, and the normal boot process makes an ro->rw transition,
so this was being missed.
Refactor to make a common helper function to test the filesystem
features against the type of mount request (RO vs. RW) so that we
Addresses Red-Hat-Bugzilla: #517650
Signed-off-by: Eric Sandeen <firstname.lastname@example.org>
Signed-off-by: "Theodore Ts'o" <email@example.com>
The patch in comment #3 is in 2.6.32, so setting MODIFIED.
Sanity Check in kernel-2.6.32-73.el6 and the code is there actually.
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.