diff options
author | Denis Lunev <den@sw.ru> | 2005-11-13 19:07:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-13 21:14:15 -0500 |
commit | ab4eb43ce759559d7b15c5dde4a1562f202539f6 (patch) | |
tree | c0aa2996c8c2c85652a440c3e64884d8d355a4d6 /fs/ext3/inode.c | |
parent | b17b0421d70f5b85a791afe145a16d5ca5f849aa (diff) |
[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>
Diffstat (limited to 'fs/ext3/inode.c')
-rw-r--r-- | fs/ext3/inode.c | 4 |
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, | |||
1384 | ClearPageChecked(page); | 1384 | ClearPageChecked(page); |
1385 | ret = block_prepare_write(page, 0, PAGE_CACHE_SIZE, | 1385 | ret = block_prepare_write(page, 0, PAGE_CACHE_SIZE, |
1386 | ext3_get_block); | 1386 | ext3_get_block); |
1387 | if (ret != 0) | 1387 | if (ret != 0) { |
1388 | ext3_journal_stop(handle); | ||
1388 | goto out_unlock; | 1389 | goto out_unlock; |
1390 | } | ||
1389 | ret = walk_page_buffers(handle, page_buffers(page), 0, | 1391 | ret = walk_page_buffers(handle, page_buffers(page), 0, |
1390 | PAGE_CACHE_SIZE, NULL, do_journal_get_write_access); | 1392 | PAGE_CACHE_SIZE, NULL, do_journal_get_write_access); |
1391 | 1393 | ||