[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] LZO support
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [RFC] LZO support |
Date: |
Thu, 06 Oct 2011 16:58:50 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20111005 Iceowl/1.0b2 Icedove/3.1.15 |
Looks good. You can commit it upstream.
On 04.10.2011 22:11, Szymon Janc wrote:
> On Wednesday 28 September 2011 23:39:24 Vladimir 'φ-coder/phcoder' Serbinenko
> wrote:
>> On 14.09.2011 21:20, Szymon Janc wrote:
>>> Hello,
>>>
>>> I've implemented support for LZO in grub, this includes:
>>> - import of minilzo library (from [1])
>>> - support for LZO (de)compression in btrfs (compress=lzo mount option)
>>> - lzopio - for reading lzop compressed files
>> + common = lib/minilzo/minilzo.c;
>> @@ -1650,6 +1653,14 @@
>> + common = lib/minilzo/minilzo.c;
>> Please don't include same file twice in different modules it creates a
>> symbol conflict. It's ok to have btrfs depend on lzopio if necessary, at
>> least for now.
> Done.
>
>> +#include "minilzo.h"
>> I'd prefer <minilzo.h> and an explicit -I on cppflags if necessary.
> Done.
>
>> - grub_disk_addr_t *outaddr, grub_size_t *outsize,
>> + grub_disk_addr_t * outaddr, grub_size_t * outsize,
>> this is a stylistic regression. (several such occurences)
>> - if (desc->data[desc->depth - 1].iter
>> - < desc->data[desc->depth - 1].maxiter)
>> + if (desc->data[desc->depth - 1].iter <
>> + desc->data[desc->depth - 1].maxiter)
>> Likewise.
> Oops. Fixed.
>
>> + grub_uint8_t context[lzopio->ccheck_fun->contextsize];
>> This isn't necessarily well-aligned. Use grub_uint64_t
>> context[(lzopio->ccheck_fun->contextsize + 7) / 8];
>> (several occurences)
> Done.
>
>> + file->size = GRUB_FILE_SIZE_UNKNOWN;
>> Several components have trouble with such files. Is there any way to
>> retrieve the size of lzio compressed file?
> It is possible and it is already implemented, please see
> calculate_uncompressed_size(). Actually, uncompressed size is always
> calculated. There is TODO to not do it on not-easily-seekable files as done
> in
> other ios. And GRUB_FILE_SIZE_UNKNOWN is set for 'future proof' only.
>
>>> - lzopio works ok with grub-fstest (crc, testload), also able to load
>>> modules
>>>
>>> compressed with lzop, but compressing all modules and doing
>>> grub-install --modules=lzopio fails to boot, still need to investigate
>>> that
>> That because dependencies on hashes are soft so it's not correctly
>> tracked by grub-install and so you end up in an infinite recursion.
>
> Branch on savannah updated.
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
- Re: [RFC] LZO support, Szymon Janc, 2011/10/04
- Re: [RFC] LZO support,
Vladimir 'φ-coder/phcoder' Serbinenko <=