On Sun 13-01-13 18:44:55, Wang shilong wrote: > From: Wang Shilong <wangsl-fnst@xxxxxxxxxxxxxx> > > It will be better to have ENOMEM return rather than EIO,because > the only reason that sb_getblk fails is allocation fails. Again one case is wrong. See below. > > Signed-off-by: Wang Shilong <wangsl-fnst@xxxxxxxxxxxxxx> > --- > fs/ext3/inode.c | 6 +++--- > fs/ext3/resize.c | 6 +++--- > fs/ext3/xattr.c | 2 +- > 3 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c > index c91f8bf..d5315d5 100644 > --- a/fs/ext3/inode.c > +++ b/fs/ext3/inode.c > @@ -1084,7 +1084,7 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode, > struct buffer_head *bh; > bh = sb_getblk(inode->i_sb, dummy.b_blocknr); > if (unlikely(!bh)) { > - *errp = -EIO; > + *errp = -ENOMEM; > goto err; > } > if (buffer_new(&dummy)) { > @@ -2739,7 +2739,7 @@ static int __ext3_get_inode_loc(struct inode *inode, > "unable to read inode block - " > "inode=%lu, block="E3FSBLK, > inode->i_ino, block); > - return -EIO; > + return -ENOMEM; > } > if (!buffer_uptodate(bh)) { > lock_buffer(bh); > @@ -2833,7 +2833,7 @@ make_io: > "inode=%lu, block="E3FSBLK, > inode->i_ino, block); > brelse(bh); > - return -EIO; > + return -ENOMEM; This is wrong. Here we really failed because of IO error (buffer was not uptodate). Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html