Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1083,7 +1083,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)) {
@@ -2738,7 +2738,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);
+3 −3
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb,

	bh = sb_getblk(sb, blk);
	if (unlikely(!bh))
		return ERR_PTR(-EIO);
		return ERR_PTR(-ENOMEM);
	if ((err = ext3_journal_get_write_access(handle, bh))) {
		brelse(bh);
		bh = ERR_PTR(err);
@@ -235,7 +235,7 @@ static int setup_new_group_blocks(struct super_block *sb,

		gdb = sb_getblk(sb, block);
		if (unlikely(!gdb)) {
			err = -EIO;
			err = -ENOMEM;
			goto exit_bh;
		}
		if ((err = ext3_journal_get_write_access(handle, gdb))) {
@@ -723,7 +723,7 @@ static void update_backups(struct super_block *sb,

		bh = sb_getblk(sb, group * bpg + blk_off);
		if (unlikely(!bh)) {
			err = -EIO;
			err = -ENOMEM;
			break;
		}
		ext3_debug("update metadata backup %#04lx\n",
+1 −1
Original line number Diff line number Diff line
@@ -816,7 +816,7 @@ inserted:
			if (unlikely(!new_bh)) {
getblk_failed:
				ext3_free_blocks(handle, inode, block, 1);
				error = -EIO;
				error = -ENOMEM;
				goto cleanup;
			}
			lock_buffer(new_bh);