kern/104133: [ext2fs] EXT2FS module corrupts EXT2/3 filesystems
Bruce Evans
bde at zeta.org.au
Mon Oct 23 19:10:49 PDT 2006
The following reply was made to PR kern/104133; it has been noted by GNATS.
From: Bruce Evans <bde at zeta.org.au>
To: Bjoern Voigt <bjoern at cs.tu-berlin.de>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: kern/104133: [ext2fs] EXT2FS module corrupts EXT2/3 filesystems
Date: Tue, 24 Oct 2006 12:06:06 +1000 (EST)
On Mon, 23 Oct 2006, Bjoern Voigt wrote:
> But FreeBSD's ext2fs does not refuse to mount ext2 or ext3 file systems
> with extended attributes (user_xattr). Mount does not show any errors or
> warnings.
Right, it was your task to find why it doesn't :-), but I think I figured
that out: out
> The information weather or not an ext2/3 file system contains extended
> attributes or not can not be found in the output of dumpe2fs:
>
> # dumpe2fs /dev/hda6
> dumpe2fs 1.38 (30-Jun-2005)
> ...
> Filesystem features: has_journal filetype sparse_super
This doesn't mention extended attributes. This seems to be a bug in
dumpe2fs.
The problem wth not disallowing mounts with extended attributes seems
to be that extended attributes are supposed to be (always) backwards
compatible (except to ext2fs version 0, which doesn't even have the
features bitmaps) -- they are in the features bitmap for compatible
attributes. FreeBSD's ext2fs only checks the features bitmaps for
incompatible and read-only-compatible attributes. In the above,
has_journal is supposed to be compatible, filetype is incompatible but
supported by FreeBSD (i.e., it is incompatible with some implementations
but not with FreeBSD's), and sparse_super is read-only compatible but
supported by FreeBSD (i.e., it is always compatible for read-only
mounts, and for read-write mounts it is incompatible with some
implementations but not with FreeBSD's).
Now your task is to figure out why has_journal and/or extended attributes
are supposed to be compatible but aren't :-). I don't see how they
can be read-write compatible. Linux-2.6.10's handling of the feature
flags for them is simple:
- journal: ext2fs just prints a warning if the journal feature bit is set.
There is also an incompat journal feature. These are the only ext3
features known to ext2fs.
- extended attributes: ext2fs's only handling of the feature bit for this
is to force it to be set. Otherwise, it seems to just support extended
attributes.
Try using an ext3 file system that doesn't use extended attributes in
any way, to see if FreeBSD's ext2fs creates bad extended attributes
starting from non. e2fsck and/or tune2fs might be able to remove any
existing extended attributes.
Bruce
More information about the freebsd-bugs
mailing list