[Top][All Lists]
[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..."
- Reiser4 and GRUB..., Yury Umanets, 2003/05/22
- Re: Reiser4 and GRUB..., Yoshinori K. Okuji, 2003/05/23
- Re: Reiser4 and GRUB...,
Yury Umanets <=
- Re: Reiser4 and GRUB..., Yoshinori K. Okuji, 2003/05/25
- Re: Reiser4 and GRUB..., Yury Umanets, 2003/05/25
- Re: Reiser4 and GRUB..., Yoshinori K. Okuji, 2003/05/25
- Re: Reiser4 and GRUB..., Yury Umanets, 2003/05/25
- Re: Reiser4 and GRUB..., Yoshinori K. Okuji, 2003/05/27
- Re: Reiser4 and GRUB..., Yury Umanets, 2003/05/28
- Re: Reiser4 and GRUB..., Jochen Hoenicke, 2003/05/28
- Re: Reiser4 and GRUB..., Yury Umanets, 2003/05/28