Messages in this thread |  | | Date | Wed, 06 Sep 2000 10:15:59 -0400 | From | Chris Mason <> | Subject | Re: Still ext2-corruption in test8-pre5 (incl. OOPS) |
| |
--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/
|  |