[70/90] ext4: fix error handling in ext4_ind_get_blocks()

Greg KH
2009-12-11T04:45:32Z

[-- Attachment #1: 0070-ext4-fix-error-handling-in-ext4_ind_get_blocks.patch --]
[-- Type: text/plain, Size: 833 bytes --]

2.6.31-stable review patch. If anyone has any objections, please let us know.

------------------
(cherry picked from commit 2bba702d4f88d7b010ec37e2527b552588404ae7)

When an error happened in ext4_splice_branch we failed to notice that
in ext4_ind_get_blocks and mapped the buffer anyway. Fix the problem
by checking for error properly.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
fs/ext4/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1022,7 +1022,7 @@ static int ext4_ind_get_blocks(handle_t
if (!err)
err = ext4_splice_branch(handle, inode, iblock,
partial, indirect_blks, count);
- else
+ if (err)
goto cleanup;

set_buffer_new(bh_result);