From: "JavierMartín" <[EMAIL PROTECTED]>
Sent: Wednesday, July 16, 2008 9:07 PM
To: "The development of GRUB 2" <grub-devel@gnu.org>
Subject: Re: grub-probe detects ext4 wronly as ext2
OK, so this is what I get from your 3 posts, and my proposals for the
driver future:
* meta_bg is a deprecated feature and is incompatible with
resize_inode, which is used by default in ext4 and can be used by all
other extN filesystems. We cannot safely ignore it since it signals an
incompatible change in one of the fs descriptors, so the reading code
might not be able to locate (meta)data on disk. I advocate _rejecting_
volumes with it (given that it's no longer being generated by any
"standard" tool) until someone writes a patch to support it.
resize_inode is not just enabled for ext4 but for every extN by mke2fs.conf
Either check your own /etc/mke2fs.conf or see [0] which is the newest and so
has all the ext4 features in it :)
I can't remember ever seeing that meta_bg but I do remember that
resize_inode wasn't just added now in the newest e2fsprogs
The release-notes unfortunatly don't say when it was added or at least I
didn't found that with searching for resize_inode
* flex_bg seemingly allows certain metadata structures to be
located at
places other than their default positions. However, given that it is
only used on volumes quite filled with bad blocks, I think we can (at
least temporarily) _ignore_ it, but truly supporting it would be a Good
Thing (tm)
For me currently it works but that's why I added that others should test
that.
At least on this list only I and Bean tested this and I think Bean just
tested this with my 30 MB image I gave him,
where grub-fstest failed to read the Linux Kernel
I don't know what this comment on mke2fs(8) about flex_bg means
(use with -G option to group meta-data in order to create a large virtual
block group).
Oh, I now saw in that mail I forgot to copy the text from that -G option and
the raw sourcecode of the manpage I linked there isn't really easy to read
-G " number-of-groups"
Specify the number of block goups that will be packed together to
create one large virtual block group on an ext4 filesystem.
This improves meta-data locality and performance on meta-data heavy
workloads.
The number of goups must be a power of 2 and may only be
specified if the flex_bg filesystem feature is enabled.
But because this grouping needs flex_bg enabled, and flex_bg is INCOMPAT,
there's maybe a reason grub needs to support it.
Maybe I'll try it out if grub fails to boot with that -G option used
* uninit_bg might already be supported (we should check, though,
with
bigger partitions) and is not an incompat flag, so my patch does not
affect its handling.
I've one 8 GB ext4 where ~ 3 GB are used and another 8 GB ext4 where just
~700 MB are used
Both have uninit_bg and flex_bg and grub works with them
But because I don't use them much, proberbly grub doestn't even reach the
uninitialized blockgroups/inode tables
[0]
http://git.kernel.org/?p=fs/ext2/e2fsprogs.git;a=blob;f=misc/mke2fs.conf;hb=HEAD
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel