summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Lunev2005-11-14 01:07:17 +0100
committerLinus Torvalds2005-11-14 03:14:15 +0100
commitab4eb43ce759559d7b15c5dde4a1562f202539f6 (patch)
treec0aa2996c8c2c85652a440c3e64884d8d355a4d6
parent[PATCH] signal handling: revert sigkill priority fix (diff)
downloadkernel-qcow2-linux-ab4eb43ce759559d7b15c5dde4a1562f202539f6.tar.gz
kernel-qcow2-linux-ab4eb43ce759559d7b15c5dde4a1562f202539f6.tar.xz
kernel-qcow2-linux-ab4eb43ce759559d7b15c5dde4a1562f202539f6.zip
[PATCH] ext3: journal handling on error path in ext3_journalled_writepage()
This patch fixes lost referrence on ext3 current handle in ext3_journalled_writepage(). Signed-Off-By: Denis Lunev <den@sw.ru> Cc: Kirill Korotaev <dev@sw.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/ext3/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 5d9b00e28837..8824e84f8a56 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -1384,8 +1384,10 @@ static int ext3_journalled_writepage(struct page *page,
ClearPageChecked(page);
ret = block_prepare_write(page, 0, PAGE_CACHE_SIZE,
ext3_get_block);
- if (ret != 0)
+ if (ret != 0) {
+ ext3_journal_stop(handle);
goto out_unlock;
+ }
ret = walk_page_buffers(handle, page_buffers(page), 0,
PAGE_CACHE_SIZE, NULL, do_journal_get_write_access);