Messages in this thread | | | From | Nikita Danilov <> | Date | Thu, 31 Oct 2002 20:00:47 +0300 | Subject | Re: [PATCH]: reiser4 [8/8] reiser4 code |
| |
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/
| |