Re: Review status (Re: [PATCH] LogFS take three)

Jörn Engel
2007-05-23T14:27:02Z

On Sun, 20 May 2007 21:30:52 +0400, Evgeniy Polyakov wrote:
>
> In that case segment size must be more than 32 bits, or below
> transformation will not be correct?

Must it? If segment size is just 20bit then the filesystem may only be
52bit. Or 51bit when using signed values.

> segsize is long, but should be u64 I think.

It could be s32 as well.

> static void fixup_from_wbuf(struct super_block *sb, struct logfs_area
> *area, void *read, u64 ofs, size_t readlen)
>
> u32 read_start = ofs & (super->s_segsize - 1);
> u32 read_end = read_start + readlen;
>
> And this can overflow, since readlen is size_t.

Theoretically yes. Practically readlen is bounded to sb->blocksize plus
one header. I'll start worrying about that when blocksize approaches
32bit limit.

> > If anyone can find similar bugs, the bounty is a beer or non-alcoholic
> > beverage of choice. :)
>
> Stop kiling your kidneys, your health and promote such antisocial style
> of life, start drinking vodka instead.

I'm just a German. Forgive me if I drink lesser beverages.

Jörn

--
Eighty percent of success is showing up.
-- Woody Allen