diff options
| -rw-r--r-- | fs/ext3/namei.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c index dec3e0d88ab1..ba55865caaaf 100644 --- a/fs/ext3/namei.c +++ b/fs/ext3/namei.c | |||
| @@ -57,10 +57,15 @@ static struct buffer_head *ext3_append(handle_t *handle, | |||
| 57 | 57 | ||
| 58 | *block = inode->i_size >> inode->i_sb->s_blocksize_bits; | 58 | *block = inode->i_size >> inode->i_sb->s_blocksize_bits; |
| 59 | 59 | ||
| 60 | if ((bh = ext3_bread(handle, inode, *block, 1, err))) { | 60 | bh = ext3_bread(handle, inode, *block, 1, err); |
| 61 | if (bh) { | ||
| 61 | inode->i_size += inode->i_sb->s_blocksize; | 62 | inode->i_size += inode->i_sb->s_blocksize; |
| 62 | EXT3_I(inode)->i_disksize = inode->i_size; | 63 | EXT3_I(inode)->i_disksize = inode->i_size; |
| 63 | ext3_journal_get_write_access(handle,bh); | 64 | *err = ext3_journal_get_write_access(handle, bh); |
| 65 | if (*err) { | ||
| 66 | brelse(bh); | ||
| 67 | bh = NULL; | ||
| 68 | } | ||
| 64 | } | 69 | } |
| 65 | return bh; | 70 | return bh; |
| 66 | } | 71 | } |
