Commit c04e88e2 authored by Wang Shilong's avatar Wang Shilong Committed by Jan Kara

Ext3: return ENOMEM rather than EIO if sb_getblk fails

It will be better to use ENOMEM rather than EIO, because the only
reason that sb_getblk fails is that allocation fails.
Signed-off-by: default avatarWang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent ab6a773d
...@@ -1083,7 +1083,7 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode, ...@@ -1083,7 +1083,7 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode,
struct buffer_head *bh; struct buffer_head *bh;
bh = sb_getblk(inode->i_sb, dummy.b_blocknr); bh = sb_getblk(inode->i_sb, dummy.b_blocknr);
if (unlikely(!bh)) { if (unlikely(!bh)) {
*errp = -EIO; *errp = -ENOMEM;
goto err; goto err;
} }
if (buffer_new(&dummy)) { if (buffer_new(&dummy)) {
...@@ -2738,7 +2738,7 @@ static int __ext3_get_inode_loc(struct inode *inode, ...@@ -2738,7 +2738,7 @@ static int __ext3_get_inode_loc(struct inode *inode,
"unable to read inode block - " "unable to read inode block - "
"inode=%lu, block="E3FSBLK, "inode=%lu, block="E3FSBLK,
inode->i_ino, block); inode->i_ino, block);
return -EIO; return -ENOMEM;
} }
if (!buffer_uptodate(bh)) { if (!buffer_uptodate(bh)) {
lock_buffer(bh); lock_buffer(bh);
......
...@@ -117,7 +117,7 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb, ...@@ -117,7 +117,7 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb,
bh = sb_getblk(sb, blk); bh = sb_getblk(sb, blk);
if (unlikely(!bh)) if (unlikely(!bh))
return ERR_PTR(-EIO); return ERR_PTR(-ENOMEM);
if ((err = ext3_journal_get_write_access(handle, bh))) { if ((err = ext3_journal_get_write_access(handle, bh))) {
brelse(bh); brelse(bh);
bh = ERR_PTR(err); bh = ERR_PTR(err);
...@@ -235,7 +235,7 @@ static int setup_new_group_blocks(struct super_block *sb, ...@@ -235,7 +235,7 @@ static int setup_new_group_blocks(struct super_block *sb,
gdb = sb_getblk(sb, block); gdb = sb_getblk(sb, block);
if (unlikely(!gdb)) { if (unlikely(!gdb)) {
err = -EIO; err = -ENOMEM;
goto exit_bh; goto exit_bh;
} }
if ((err = ext3_journal_get_write_access(handle, gdb))) { if ((err = ext3_journal_get_write_access(handle, gdb))) {
...@@ -723,7 +723,7 @@ static void update_backups(struct super_block *sb, ...@@ -723,7 +723,7 @@ static void update_backups(struct super_block *sb,
bh = sb_getblk(sb, group * bpg + blk_off); bh = sb_getblk(sb, group * bpg + blk_off);
if (unlikely(!bh)) { if (unlikely(!bh)) {
err = -EIO; err = -ENOMEM;
break; break;
} }
ext3_debug("update metadata backup %#04lx\n", ext3_debug("update metadata backup %#04lx\n",
......
...@@ -816,7 +816,7 @@ ext3_xattr_block_set(handle_t *handle, struct inode *inode, ...@@ -816,7 +816,7 @@ ext3_xattr_block_set(handle_t *handle, struct inode *inode,
if (unlikely(!new_bh)) { if (unlikely(!new_bh)) {
getblk_failed: getblk_failed:
ext3_free_blocks(handle, inode, block, 1); ext3_free_blocks(handle, inode, block, 1);
error = -EIO; error = -ENOMEM;
goto cleanup; goto cleanup;
} }
lock_buffer(new_bh); lock_buffer(new_bh);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment