Re: Still ext2-corruption in test8-pre5 (incl. OOPS)

From: Chris Mason (mason@suse.com)
Date: Wed Sep 06 2000 - 09:15:59 EST


--On 09/05/00 21:35:13 -0400 Chris Mason <mason@suse.com> wrote:

>
> Ok, hopefully this will make sense...
>
> __block_commit_write calls balance_dirty, which might wait on bdflush,
> running all the io on the page. The async_end_io handlers will unlock
> the page once io on all the buffer heads is done.
>
> So, by the time generic_file_write (or the new truncate code) calls
> UnlockPage, the page could have been unlocked by i/o, and relocked by
> another process.
>
> Or am I missing something?
>

Ah, I was missing that __block_prepare_write and __block_write_fullpage
both set the end_io handler to end_io_sync. In one case, reiserfs is doing
i/o without properly setting the handler, which is why I was seeing bugs
caused by the above problem, and ext2 wasn't.

-chris

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



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:25 EST