Re: [RFC] [PATCH 3/3] ufs: change b_blocknr

From: Evgeniy Dushistov
Date: Sun May 14 2006 - 07:57:43 EST


On Sun, May 14, 2006 at 03:58:01AM -0700, Andrew Morton wrote:
> Evgeniy Dushistov <dushistov@xxxxxxx> wrote:
> >
> > Because of ufs's layout, code which works with UFS should
> > time to time change such map "online":
> > physical location<-->logical inode block
>
> It does? You mean that certain parts of a file will get moved from one set
> of disk blocks to another?
>
In short file: consist of several blocks and fragments.
sizeof(block)=8*sizeof(fragment),
fragments used to prevent unwanted waste of space.

When file is growing and we occupy 8 fragments in tail of it,
we should allocate whole block and move all 8 fragments to it.

In 2.2 I suppose such code works fine:
bh = sb_bread
bh->b_blocknr=newvalue
mark_buffer_dirty

I doubt that it is normal for 2.4,
and this was completely wrong for 2.6.

--
/Evgeniy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/