xfs
[Top] [All Lists]

Re: GRUB in RedHat 7.2 xfs

To: Steve Lord <lord@xxxxxxx>
Subject: Re: GRUB in RedHat 7.2 xfs
From: erich@xxxxxxxx
Date: Thu, 25 Oct 2001 15:24:07 -0700
Cc: linux-xfs@xxxxxxxxxxx, Stuart Luppescu <s-luppescu@xxxxxxxxxxxx>
In-reply-to: Your message of "Thu, 25 Oct 2001 12:39:22 CDT." <200110251739.f9PHdNI02151@xxxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
Steve Lord <lord@xxxxxxx> wrote:

> I have looked briefly at the code - and built a redhat based rpm
> with the patch in there. It does not do log replay, but that is a
> really complex task which nothing except the kernel does right now.

Right, and arguably not necessary in a bootloader.  The only time it
is really worrisome is for installation of a block-list, and the log
is arguably clean at that point.

I'd still like to try out your hacked RedHat 7.2 installer at some
point with the default setting of making GRUB the bootloader and this
one being the one it installs, to test it out.


> My only other concern with the code from a quick read was what would
> happen in a really large directory, or in a really small one which
> fit inside the inode. The number of filesystem combinations which
> xfs could generate is large, and I am not sure all the directory
> options are covered. I could be wrong, I spent all of 15 minutes
> on the code.

Well, upon some more inspection, the "first_dentry" and "next_dentry"
functions in the directory traversal code have 2 separate cases for
"XFS_DINOTE_FMT_LOCAL" (clearly the inside inode format) and then
"XFS_DINODE_FMT_BTREE" or "XFS_DINODE_FMT_EXTENTS".  The second case
has some other checks and variation inside it for stuff like
"XFS_DIR2_BLOCK_MAGIC" and "XFS_DIR2_LEAFN_MAGIC"...  I'm starting to
describe the code here ;-)

There is also some code to check to see if you've run off the end of
your directory size (it's called "xfs.dirmax"), and if so, it tries to
go to a next directory structure (it calls it a "dablk") and recalculates
everything at that point.

So, it seems to handle many of the cases I've heard about on the list:
contained in inode, btree, something like extents of btrees.


Is there anything I should look for?  I admittedly don't have a huge
XFS partition, but after sniffing around some directories with lots
(several thousand) files, all seems well so far.


--
    Erich Stefan Boleyn     <erich@xxxxxxxx>     http://www.uruk.org/
"Reality is truly stranger than fiction; Probably why fiction is so popular"


<Prev in Thread] Current Thread [Next in Thread>