From patchwork Wed Apr 10 11:22:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Shilong X-Patchwork-Id: 2420731 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 0F6F73FCA5 for ; Wed, 10 Apr 2013 11:23:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934789Ab3DJLXW (ORCPT ); Wed, 10 Apr 2013 07:23:22 -0400 Received: from mail-da0-f47.google.com ([209.85.210.47]:52450 "EHLO mail-da0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934576Ab3DJLXV (ORCPT ); Wed, 10 Apr 2013 07:23:21 -0400 Received: by mail-da0-f47.google.com with SMTP id s35so173171dak.6 for ; Wed, 10 Apr 2013 04:23:20 -0700 (PDT) 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:in-reply-to :references; bh=m1gKW9Tw7qgRiJ37wiufySKxs88Dw2Fl14uyLQG6Bps=; b=T/ADoFXXxJmvmzf65X+vxe+NhZ1Wxri/TH8SuGDLuFd6qvZrvoKKmhRfuO0zG0ae7G RGE8zyhSfz8MoaiiOkgt39YLTdPdyY4Mvj0yW5G8ULYUgMep7+FgGzobBNezGOwtCiPg 1OvNMXEnijc+AUezhlu/XxgMn0FxEazs/YbX3Jc01V9L0X3XeDmYKtFOCk50lGBDvsgr wRqMoldiiTIBuKePh5jTMdwOrbkgyBLNMVX+qlwvG702XRv6rCAIaBUzIN361UmTcONj U6gZdKHrXOUqjYMXNXvqSklwtlVxc3PKNS3FJxqNassV/fqQe/SpyW9yZOEEGPZN3tnl BfXw== X-Received: by 10.66.227.104 with SMTP id rz8mr3023002pac.85.1365593000814; Wed, 10 Apr 2013 04:23:20 -0700 (PDT) Received: from localhost.localdomain.localdomain ([183.209.137.176]) by mx.google.com with ESMTPS id cq1sm6154316pbc.13.2013.04.10.04.23.18 (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 10 Apr 2013 04:23:20 -0700 (PDT) From: Wang Shilong To: linux-btrfs@vger.kernel.org Cc: wangsl-fnst@cn.fujitsu.com, list.btrfs@jan-o-sch.net Subject: [PATCH 1/2] Btrfs: remove some BUG_ONs() when walking backref tree Date: Wed, 10 Apr 2013 19:22:50 +0800 Message-Id: <1365592971-1535-2-git-send-email-wangshilong1991@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1365592971-1535-1-git-send-email-wangshilong1991@gmail.com> References: <1365592971-1535-1-git-send-email-wangshilong1991@gmail.com> Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org From: Wang Shilong The only error return value of __add_prelim_ref() is -ENOMEM, just return errors rather than trigger BUG_ON(). Signed-off-by: Wang Shilong Reviewed-by: David Sterba --- fs/btrfs/backref.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index bd605c8..dc200f6 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -582,7 +582,8 @@ static int __add_delayed_refs(struct btrfs_delayed_ref_head *head, u64 seq, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; } return 0; @@ -680,7 +681,8 @@ static int __add_inline_refs(struct btrfs_fs_info *fs_info, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; ptr += btrfs_extent_inline_ref_size(type); } @@ -762,7 +764,9 @@ static int __add_keyed_refs(struct btrfs_fs_info *fs_info, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; + } return ret;