From patchwork Mon Sep 9 18:49:43 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Filipe Manana X-Patchwork-Id: 2862861 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 837B2BF43F for ; Mon, 9 Sep 2013 18:50:16 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7038B2039D for ; Mon, 9 Sep 2013 18:50:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 83A1A20306 for ; Mon, 9 Sep 2013 18:50:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754925Ab3IISuI (ORCPT ); Mon, 9 Sep 2013 14:50:08 -0400 Received: from mail-wg0-f48.google.com ([74.125.82.48]:36588 "EHLO mail-wg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754649Ab3IISuF (ORCPT ); Mon, 9 Sep 2013 14:50:05 -0400 Received: by mail-wg0-f48.google.com with SMTP id n12so3294138wgh.27 for ; Mon, 09 Sep 2013 11:50:04 -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=dBAPRx0eUvwIDRNx0JzNP2b722QpjV1U0HqQ8xwfy50=; b=uQYUlHo2++QUV4jPaF357WXA5a5nElsT9IuWu895cmZjTT97dngeBrSdcVFt+vBanw lkTmxu535oC94r7rRjB5mWX1Tz9HjwkddfTR1M4w4E+sp17mvgOnwUEHmKyPAM/siWEK 4Y4CqGGLm2MSpymapGD6ELnvw/8O2BNDbYw2mhohEAHYUmrjx8tMR/EJzzDMC0VY/ZJc Y5YQQTx2U50NdNie6BPGhsos3i/SfchYXhr3C1iUYX6EhajY7IT2IB/Pg4+kQtKtmQEw 5hedZMIjQ4xLaJ9mo6r+k2YWhNNI1+9QaWpomj0NWlxCMRRM9414KyW4STCEbtyI4YrK DMHw== X-Received: by 10.194.174.36 with SMTP id bp4mr13686691wjc.7.1378752604174; Mon, 09 Sep 2013 11:50:04 -0700 (PDT) Received: from storm-desktop.lan (bl13-144-26.dsl.telepac.pt. [85.246.144.26]) by mx.google.com with ESMTPSA id iz19sm16829547wic.9.1969.12.31.16.00.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 09 Sep 2013 11:50:03 -0700 (PDT) From: Filipe David Borba Manana To: linux-btrfs@vger.kernel.org Cc: Filipe David Borba Manana Subject: [PATCH] Btrfs: don't leak block group on error Date: Mon, 9 Sep 2013 19:49:43 +0100 Message-Id: <1378752583-31362-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=-7.7 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 In extent-tree.c:btrfs_write_dirty_block_groups(), if the call to write_one_cache_group() failed, we would return without putting the block group first. Signed-off-by: Filipe David Borba Manana --- fs/btrfs/extent-tree.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 1d7f41f..249cdb1 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3318,10 +3318,9 @@ again: last = cache->key.objectid + cache->key.offset; err = write_one_cache_group(trans, root, path, cache); + btrfs_put_block_group(cache); if (err) /* File system offline */ goto out; - - btrfs_put_block_group(cache); } while (1) {