Hello!

On Fri, Jun 27, 2003 at 12:23:07PM -0400, Chris Mason wrote:

> Most of these changes are in 2.4.21, which I've been using on an AMD64

Not the reiserfs_file_write() ones.

> bit box for a while without any problems.  The bug should be somewhere
> else, it looks to me like these spots aren't trying to send an unsigned
> long to disk.

the reiserfs_file_write() code
have an array of b_blocknr_t elements.
It then submits this array to reiserfs_paste_into_item/reiserfs_insert_item,
but b_blocknr_t is unsigned long (read - 64 bit on alpha - oops).
Funny thing is when I declare b_blocknr_t as u32, kernel basically falls apart
if cross compiled. E.g. key comparison does not work and
all kind of weird things start to happen.

In short - if you want to make sure the bug is there - compile 2.5.70+ code
on any 64 bit platform, write any file bigger than 2 blocks,
unmount and remount the fs and see what's in the file.

Bye,
    Oleg

Reply via email to