From cb3c69ff54fab1267e12b2364a6a00a3dfc152b3 Mon Sep 17 00:00:00 2001 From: Akinobu Mita Date: Thu, 17 Apr 2008 10:38:59 -0400 Subject: [PATCH] --- yaml --- r: 95042 b: refs/heads/master c: a871611b474bfcdee422c0cf5d16f509dce096f5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ext4/namei.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d4b5fc228e1d..a0b9d9769253 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0a4ef38ac90d9053fcf3e22f81520a507c1a7bd +refs/heads/master: a871611b474bfcdee422c0cf5d16f509dce096f5 diff --git a/trunk/fs/ext4/namei.c b/trunk/fs/ext4/namei.c index 68611945687d..63c33e053478 100644 --- a/trunk/fs/ext4/namei.c +++ b/trunk/fs/ext4/namei.c @@ -57,10 +57,15 @@ static struct buffer_head *ext4_append(handle_t *handle, *block = inode->i_size >> inode->i_sb->s_blocksize_bits; - if ((bh = ext4_bread(handle, inode, *block, 1, err))) { + bh = ext4_bread(handle, inode, *block, 1, err); + if (bh) { inode->i_size += inode->i_sb->s_blocksize; EXT4_I(inode)->i_disksize = inode->i_size; - ext4_journal_get_write_access(handle,bh); + *err = ext4_journal_get_write_access(handle, bh); + if (*err) { + brelse(bh); + bh = NULL; + } } return bh; }