2008-04-28 09:20:52

by Andrew Morton

[permalink] [raw]
Subject: [patch 273/307] ext3: check ext3_journal_get_write_access() errors

From: Akinobu Mita <[email protected]>

Check ext3_journal_get_write_access() errors.

Signed-off-by: Akinobu Mita <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

fs/ext3/namei.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff -puN fs/ext3/namei.c~ext3-check-ext3_journal_get_write_access-errors fs/ext3/namei.c
--- a/fs/ext3/namei.c~ext3-check-ext3_journal_get_write_access-errors
+++ a/fs/ext3/namei.c
@@ -57,10 +57,15 @@ static struct buffer_head *ext3_append(h

*block = inode->i_size >> inode->i_sb->s_blocksize_bits;

- if ((bh = ext3_bread(handle, inode, *block, 1, err))) {
+ bh = ext3_bread(handle, inode, *block, 1, err);
+ if (bh) {
inode->i_size += inode->i_sb->s_blocksize;
EXT3_I(inode)->i_disksize = inode->i_size;
- ext3_journal_get_write_access(handle,bh);
+ *err = ext3_journal_get_write_access(handle, bh);
+ if (*err) {
+ brelse(bh);
+ bh = NULL;
+ }
}
return bh;
}
_