From patchwork Thu Jan 13 10:47:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Shilong X-Patchwork-Id: 211584 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D69352C0101 for ; Sun, 13 Jan 2013 13:45:07 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754285Ab3AMCpB (ORCPT ); Sat, 12 Jan 2013 21:45:01 -0500 Received: from mail-da0-f42.google.com ([209.85.210.42]:49489 "EHLO mail-da0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754213Ab3AMCpA (ORCPT ); Sat, 12 Jan 2013 21:45:00 -0500 Received: by mail-da0-f42.google.com with SMTP id z17so1323802dal.1 for ; Sat, 12 Jan 2013 18:45:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=WjaEjj+yC5wEhVk1ozl9a10FV38rf/rcE4ytpDLv+h0=; b=SWe97iLaRaUlVt8E4nVl/knA9Hg4EBgyAacKposYtuyOpDbygpKwEA//q4Gw0gpOs1 KGQw6+oPM4Or8bSz17kCzDyq8Epn01hBoZU3ljxUSyoyUSSqBg2OPlEldG80W3KVSx1D jkl/SorlhAJAl82MyMfbjDQQHUTEcxfMU+YIavEV2b5kbF8cOF/3prCWWfJ+utu8sIrj OHtvdn7gKGS4VmKimnfMFffINsejb8aGjuwIRszwi+YH9a5D80yNAffDvL4cSRH7T99d AsDv16nNRnqrLaC/esbU4gmXlH84p7EX2MZju0lYvLQQbQsx3tWoeBLmN+fXdQbZNEv5 SXvQ== X-Received: by 10.66.76.8 with SMTP id g8mr220234900paw.40.1358045100034; Sat, 12 Jan 2013 18:45:00 -0800 (PST) Received: from localhost.localdomain ([112.0.63.202]) by mx.google.com with ESMTPS id rk6sm5541940pbc.20.2013.01.12.18.44.56 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 12 Jan 2013 18:44:59 -0800 (PST) From: Wang shilong To: jack@suse.cz Cc: linux-fsdevel@vger.kernel.org, tytso@mit.edu, linux-ext4@vger.kernel.org, Wang shilong , Wang Shilong Subject: [PATCH 2/2] Ext3: return ENOMEM rather than EIO if sb_getblk fails Date: Thu, 13 Jan 2011 18:47:14 +0800 Message-Id: <1294915634-3413-1-git-send-email-wangshilong1991@gmail.com> X-Mailer: git-send-email 1.7.11.7 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Wang Shilong It will be better to have ENOMEM return rather than EIO,because the only reason that sb_getblk fails is allocation fails. Signed-off-by: Wang Shilong --- 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; } } has_buffer: diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c index 704e8ce..2710565 100644 --- a/fs/ext3/resize.c +++ b/fs/ext3/resize.c @@ -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", diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c index 9f57470..b1fc963 100644 --- a/fs/ext3/xattr.c +++ b/fs/ext3/xattr.c @@ -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);