bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reiser4 and GRUB...


From: Yury Umanets
Subject: Re: Reiser4 and GRUB...
Date: Fri, 23 May 2003 13:16:31 +0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3.1) Gecko/20030518

Yoshinori K. Okuji wrote:

At Thu, 22 May 2003 18:31:23 +0400,
Yury Umanets wrote:
Our reiser4_stage1_5 is too big (27288 bytes) and cannot fit into 24576 bytes. Thus, it corrupts own tail durring loading stage2 at 0x8000. So, question is may I load stage2 not into 0x8000 but into 0x9c00 instead and thus free room for our stage1_5.

It is possible if the stage2 relocates itself right after being
started, but I don't recommend such a change.



The reason why your Stage 1.5 is so big is that you use a generic
library with GRUB, isn't it?

Yes, you right. This is special kind of libreiser4 called libreiser4-stand-alone. It has not any unused code, but it is quite big. The reason is that, reiser4 is plugin based filesystem and we need to supporth them in libreiser4 too. So, libreiser4-stand-alone has plugin factory, and few plugins:

format40      -- default disk format
r5_hash       -- default hash plugin
direntry40   -- hashed directory item plugin
stat40         -- stat data plugin
tail40           -- tail item plugin
nodeptr40   -- node pointer item plugin
extent40     -- extent item plugin
key40          -- default key plugin
node40        -- node plugin
dir40            -- directory plugin
reg40           -- regular file pluin
oid40            -- inode allocator plugin
sdext_lt       -- stat data extention for storing large time
sdext_lw -- stat data extention for storing mode, nlinks, size (light weight) sdext_unix -- stat data extention for storing the rest of usual unix inode fields like uid, gid, etc.



I don't like that approach, as it could
bloat GRUB unnecessarily.

Reiser4 code is not included into GRUB. This is library, GRUB can be linked against it. But probably you mean binaries? Yes, they get bigger. For instance stage2 currently is 122K.

In your previous mail, you didn't answer my
question, so I'd ask the same question once again:

Why don't you
modify our implemenatation to support Reiser4?

Probably I'd like modify GRUB to support reiser4, but how should I do it? Currently the main problem is size. We can do not use library approach, but this way has few weeknesses. And main of them is need to modidfy reiser4 code in more then one places (libreiser4, GRUB)

Reiser4 is too big itself. There are lots of code for working with extents, directories, etc. And of course, it consists of plugins.


Okuji




--
Yury Umanets
"We're flying high, we're watching the world passes by..."







reply via email to

[Prev in Thread] Current Thread [Next in Thread]