On Thu, Oct 13, 2011 at 04:13:18PM +0900, Kazuya Mio wrote: > If ext4_jbd2_file_inode() in mpage_da_map_and_submit() fails due to journal > abort, this function returns to caller without unlocking the page. > It leads to the deadlock, and the patch fixes this issue by calling > mpage_da_submit_io(). > > Signed-off-by: Kazuya Mio <k-mio@xxxxxxxxxxxxx> Applied, thanks. This is an area where we should really clean things up next merge window, though. I'm a little uneasy that we will potentially write back some blocks even though the journal has been aborted (we do this in other error paths, so this isn't a criticism of this patch, just of the current state of affairs). The problem mpage_da_submit_io() is the only way we have to unlock the pages. In the future we should probably have a separate path to unlock the pages in case of an error. We might also want to merge mpage_da_submit_io() and mpage_da_map_and_submit(), and to also clean up a number of comments which are out of date. (For example, mpage_da_submit_io() no longer uses ext4_writepage().) - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html