[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How can I use grub_getcrc32 in fs module
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: How can I use grub_getcrc32 in fs module |
Date: |
Sun, 14 Mar 2010 13:32:46 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20091109) |
Jiro SEKIBA wrote:
>> Filesystem modules are often size-constrained. So we skip the
>> consistency checks unless they are inherent part of filesystem operation.
>> If filesystem is corrupted there isn't much we can do other than hope
>> that boot-related files aren't affected. GRUB itself never writes to fs
>> metadata so it won't lead to any additional corruption
>>
>
> Ah, I see. Ok, then we may skip checking super block crc.
>
Skipping only part of crc checks doesn't bring anything.
> However, becuase of nature of nilfs2, a log file system,
> I need to roll forward the logs to find the latest log
> in case that super block does not point appropriate latest log
> on unclean unmounting.
>
> In the forwarding process, log is verified by crc.
>
>
In this case ok. Can you make tests and compare the size with either
using lib/crc.c or CRC32 from crypto framework? This is something that
would justify keeping lib/crc.c despite my previous plans on its removal
if the difference is significant.
>>> I added lib/crc.c in SOURCES in common.rmk for the fs module.
>>> It looks OK to compile the target fs module.
>>> However I got following link error for grub-setup and grub-probe.
>>>
>>> grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb':
>>> nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32'
>>> nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32'
>>> nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32'
>>> collect2: ld returned 1 exit status
>>>
>>> I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same
>>> result.
>>>
>>>
>>>
>> Stupid question: have you rerun ./autogen.sh ?
>>
>
> Yes, I did. I should have mentioned.
> What I did is
>
> sh autogen.sh
> make clean;./configure;make
>
>
May I have a look at this part of the patch?
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature