From patchwork Mon Aug 5 00:25:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Filipe Manana X-Patchwork-Id: 2838495 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id F3ADD9F479 for ; Mon, 5 Aug 2013 00:25:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3112320144 for ; Mon, 5 Aug 2013 00:25:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3AD1A20103 for ; Mon, 5 Aug 2013 00:25:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754083Ab3HEAZf (ORCPT ); Sun, 4 Aug 2013 20:25:35 -0400 Received: from mail-we0-f172.google.com ([74.125.82.172]:48152 "EHLO mail-we0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754082Ab3HEAZe (ORCPT ); Sun, 4 Aug 2013 20:25:34 -0400 Received: by mail-we0-f172.google.com with SMTP id t61so1984545wes.31 for ; Sun, 04 Aug 2013 17:25:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=+KUjm56VvQlhPCi+B0H8ivlrc0DqjvQn7QeuX6ikGPY=; b=VJLl8AEjSuZ3lIPQrkyf+JN4uvtbFJFwUHRWfwcZx2qDOzPhdxjVDcpeV69NkUi402 hrtw/s0s9Jpf694hxOaT+iHmbw9JUuj72S8sRFq2WGiR4Pm/h6BhjBjEF9BIwuXtCdGE AHOQwetdvqjt6CmxpADefxu3uLcK2nLNBnqMWhvodmJFw3HqKU6Jarzd1U9EUSCxn8S1 JVjChmXMoxo6G8TXHPl6wqcZDLE9CRIXe2kRKsKG2UbA+R13awII2PEdDHWv45oXnor2 rOdxJaxY8Mq366qHFJThUavxjUe/R1q7M1ZOraw59yxuALJX7vCMGtpczNZFGry5UKFV Wbfg== X-Received: by 10.180.187.2 with SMTP id fo2mr4891626wic.65.1375662333566; Sun, 04 Aug 2013 17:25:33 -0700 (PDT) Received: from storm-desktop.lan (bl11-95-178.dsl.telepac.pt. [85.244.95.178]) by mx.google.com with ESMTPSA id r6sm18170137wiw.0.2013.08.04.17.25.32 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 04 Aug 2013 17:25:33 -0700 (PDT) From: Filipe David Borba Manana To: linux-btrfs@vger.kernel.org Cc: Filipe David Borba Manana Subject: [PATCH] Btrfs: don't ignore errors from btrfs_run_delayed_items Date: Mon, 5 Aug 2013 01:25:26 +0100 Message-Id: <1375662326-23444-1-git-send-email-fdmanana@gmail.com> X-Mailer: git-send-email 1.7.9.5 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP tree-log.c was ignoring the return value from btrfs_run_delayed_items() in several places. Signed-off-by: Filipe David Borba Manana --- fs/btrfs/tree-log.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index ff60d89..f919f26 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -747,7 +747,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans, ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); if (ret) goto out; - btrfs_run_delayed_items(trans, root); + else + ret = btrfs_run_delayed_items(trans, root); out: kfree(name); iput(inode); @@ -923,7 +924,9 @@ again: kfree(victim_name); if (ret) return ret; - btrfs_run_delayed_items(trans, root); + ret = btrfs_run_delayed_items(trans, root); + if (ret) + return ret; *search_done = 1; goto again; } @@ -990,7 +993,8 @@ again: inode, victim_name, victim_name_len); - btrfs_run_delayed_items(trans, root); + if (!ret) + ret = btrfs_run_delayed_items(trans, root); } iput(victim_parent); kfree(victim_name); @@ -1810,7 +1814,7 @@ again: ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); if (!ret) - btrfs_run_delayed_items(trans, root); + ret = btrfs_run_delayed_items(trans, root); kfree(name); iput(inode); if (ret)