2008-02-17 06:21:38

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH 4/4] ext4: check ext4_journal_get_write_access() errors

Check ext4_journal_get_write_access() errors.

Signed-off-by: Akinobu Mita <[email protected]>
Cc: Stephen Tweedie <[email protected]>
Cc: [email protected]
Cc: Andrew Morton <[email protected]>
Cc: Mingming Cao <[email protected]>
Cc: Theodore Tso <[email protected]>
---
fs/ext4/namei.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Index: 2.6-rc/fs/ext4/namei.c
===================================================================
--- 2.6-rc.orig/fs/ext4/namei.c
+++ 2.6-rc/fs/ext4/namei.c
@@ -57,10 +57,15 @@ static struct buffer_head *ext4_append(h

*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;
}


2008-02-19 08:19:38

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH 4/4] ext4: check ext4_journal_get_write_access() errors

On Sun, 2008-02-17 at 15:15 +0900, Akinobu Mita wrote:
> Check ext4_journal_get_write_access() errors.
>
Acked and added to ext4 patch queue

Mingming
> Signed-off-by: Akinobu Mita <[email protected]>
> Cc: Stephen Tweedie <[email protected]>
> Cc: [email protected]
> Cc: Andrew Morton <[email protected]>
> Cc: Mingming Cao <[email protected]>
> Cc: Theodore Tso <[email protected]>
> ---
> fs/ext4/namei.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> Index: 2.6-rc/fs/ext4/namei.c
> ===================================================================
> --- 2.6-rc.orig/fs/ext4/namei.c
> +++ 2.6-rc/fs/ext4/namei.c
> @@ -57,10 +57,15 @@ static struct buffer_head *ext4_append(h
>
> *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;
> }