Re: [PATCH]: reiser4 [8/8] reiser4 code

Nikita Danilov (Nikita@Namesys.COM)
Thu, 31 Oct 2002 20:00:47 +0300


Alexander Viro writes:
>
>
> On Thu, 31 Oct 2002, Nikita Danilov wrote:
>
> > > And you want that to be reviewed until tonight?
> > >
> >
> > No. But changes to the core are not very complicated. If Linus "reviews"
> > and accepts them life of reiser4 would be much simpler.
>
> Changes to the core consist (AFAICS) of exporting a bunch of functions
> with no explanation of the way they are used - with some of them it's
> really straightforward (and can go in at any point), with some one
> would expect really detailed explanation and code review (your comments
> regarding fsync_super() export trigger all sorts of alarms for me).

Let's start from fsync_super() then.

Reiser4 has data journalling.

When ->writepage() is called on dirtied page, page joins transaction.
During umount all out-standing transaction have to be committed. But if
file were mmapped, then, at the moment of the call to ->kill_super()
pages can be dirtied without ->writepage() ever called on them.

generic_shutdown_super() calls fsync_super(sb) (which will call
->writepage() on each dirty page) and then invalidate_inodes().

Reiser4 has commit out-standing transactions -between- these two points:
after ->writepage() has been called on all dirty pages, but before
inodes were destroyed. Thus, we cannot use
kill_block_super()/generic_shutdown_super().

>
> PS: Cc'ing a posting on a public list to a subscribers-only one is
> generally not a nice thing to do... Cc: trimmed.

Arghh... Sorry, it will be fixed... soon.

>

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