[PATCH] ext3: direct-io transaction extending fix
ext3_direct_io_get_blocks() is misinterpreting the return value from ext3_journal_extend(), and is consequently running out of buffer credits and going BUG on tremendously large direct-io writes. Fix that up. Also, I note that the really large direct-io writes can hold a transaction open for the entire duration, which can be minutes. This violates ext3's attempt to commit data at regular intervals. Fix that up by looking at the transaction state: if it's T_LOCKED, shut off the current handle so the pending commit can complete. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing
Please register or sign in to comment