Skip to contentSkip to conversation

ext3: journal handling on error path in ext3_journalled_writepage()

PATCH New Kirill Korotaev 1 participant 1 message Nov 7, 2005

lore
Share & tools
lore
#0 lore raw

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()

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(str
 		ClearPageChecked(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;
 }