ext3: journal handling on error path in ext3_journalled_writepage()
PATCH 1/1 ext3: journal handling on error path in ext3_journalled_writepage()
Forwarded original patch from Denis Lunev:
This patch fixes lost referrence on ext3 current handle in ext3_journalled_writepage()
Signed-off-by Denis Lunev <[email protected]>
P.S. against 2.6.14
fs/ext3/inode.c renamed from fs/ext3/inode.c.msext3 +5 -3
@@ -1375,8 +1375,11 @@ static int ext3_journalled_writepage(strClearPageChecked (page); ret =block_prepare_write (page,0 ,PAGE_CACHE_SIZE , ext3_get_block); -if (ret !=0 ) - goto out_unlock; +if (ret !=0 ) { +ext3_journal_stop (handle); +unlock_page (page); +return ret; + } ret =walk_page_buffers (handle,page_buffers (page),0 ,PAGE_CACHE_SIZE ,NULL , do_journal_get_write_access);
@@ -1402,7 +1405,6 @@ out: no_write:redirty_page_for_writepage (wbc, page); -out_unlock:unlock_page (page); goto out; }