From patchwork Thu Mar 16 16:04:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ednadolski@gmail.com X-Patchwork-Id: 9628837 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D3A1460244 for ; Thu, 16 Mar 2017 16:12:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C4F9C283F9 for ; Thu, 16 Mar 2017 16:12:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B99732841E; Thu, 16 Mar 2017 16:12:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 613B7283F9 for ; Thu, 16 Mar 2017 16:12:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755074AbdCPQMu (ORCPT ); Thu, 16 Mar 2017 12:12:50 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:36494 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755005AbdCPQMt (ORCPT ); Thu, 16 Mar 2017 12:12:49 -0400 Received: by mail-wr0-f195.google.com with SMTP id l37so6486834wrc.3 for ; Thu, 16 Mar 2017 09:12:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=q3D1op69tVRonwA/lWl/zQ1YATL5u0Fgvcu2j4MaF+o=; b=J0Ft5s0bTx828dEhfEEp1iuc2RpTZ2AQTJRGNQdRWBgIK6kMZIg68AYh1og+MCXHXa Gb8Ny6490VlRCW4Cm0cBOwEx+bTU+hb3RfiHpoimKLjntuuqtYx4Iez+g/fkwGETEW2B T1ZaeImt7kFRMZOEXZ4maZPveJQC0z4xVkOdf2zTXoNjVvpL1zP7nqzOKfNWcahx93Kh aSvi88zbwvjIZ1lk7NcOq9BgXZSSBYy72tJdZiTRaMNmxz9JqMytxE0cC0oHoirFgqkn BIJaJ4IvHvr1HEag9VotlKsd5cmukngSHIIIlosF0ScscNqM8atZZd+6xiUKZuAnkJRW 1MhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=q3D1op69tVRonwA/lWl/zQ1YATL5u0Fgvcu2j4MaF+o=; b=LaWy21vz2dR6tbuDOKVrVppK/TrhKASew0PXXlJ41W/xK6dWbzCoW5UMV4dY5iGR95 t7sbO6uvss2PsAbBAVkPg0Xdx2q0GK3o+VR5EhvxbJzlDUGzmVlaOeT3A0tjTmaMKxKU vYOFH82RQtylkSFub70UB/J44lrx10xJCyaZ9FuWxPrCXf9o7DehH09gpyXLkZaNSYNK VIXo9lr7xA2Ujov5cEEK0OfYGvUKYmmKKy0mzzNM+CWhaacVQGEoyEjRurvGC9gQH3GT UkQScbMjRFS5bp9YHJo0k0+ZbHifzsdXjGgwnxRs85WkwFEKosNH0eWWVPB7a0CoKDOW JIiQ== X-Gm-Message-State: AFeK/H1q0AP++YfMpjudR4KjP7Sq9BUaIHnLnzcmrQXgZkrUtH+UWcAzq6Si58BPwlwZPA== X-Received: by 10.223.163.195 with SMTP id m3mr8603057wrb.83.1489680230182; Thu, 16 Mar 2017 09:03:50 -0700 (PDT) Received: from linux-mf65.suse.de (97-124-166-208.hlrn.qwest.net. [97.124.166.208]) by smtp.gmail.com with ESMTPSA id 189sm4796095wmm.31.2017.03.16.09.03.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 Mar 2017 09:03:49 -0700 (PDT) From: ednadolski@gmail.com X-Google-Original-From: enadolski@suse.com To: linux-btrfs@vger.kernel.org Cc: Edmund Nadolski Subject: [PATCH v2 1/2] btrfs: provide enumeration for __merge_refs mode argument Date: Thu, 16 Mar 2017 10:04:33 -0600 Message-Id: <20170316160434.8126-2-enadolski@suse.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170316160434.8126-1-enadolski@suse.com> References: <20170313203204.11857-1-enadolski@suse.com> <20170316160434.8126-1-enadolski@suse.com> Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Edmund Nadolski Replace hardcoded numeric values for __merge_refs 'mode' argument with descriptive constants. Signed-off-by: Edmund Nadolski Reviewed-by: Jeff Mahoney --- fs/btrfs/backref.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 1163383..6ce7281 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -26,6 +26,11 @@ #include "delayed-ref.h" #include "locking.h" +enum merge_mode { + MERGE_IDENTICAL_KEYS = 1, + MERGE_IDENTICAL_PARENTS, +}; + /* Just an arbitrary number so we can be sure this happened */ #define BACKREF_FOUND_SHARED 6 @@ -809,14 +814,12 @@ static int __add_missing_keys(struct btrfs_fs_info *fs_info, /* * merge backrefs and adjust counts accordingly * - * mode = 1: merge identical keys, if key is set - * FIXME: if we add more keys in __add_prelim_ref, we can merge more here. - * additionally, we could even add a key range for the blocks we - * looked into to merge even more (-> replace unresolved refs by those - * having a parent). - * mode = 2: merge identical parents + * FIXME: For MERGE_IDENTICAL_KEYS, if we add more keys in __add_prelim_ref + * then we can merge more here. Additionally, we could even add a key + * range for the blocks we looked into to merge even more (-> replace + * unresolved refs by those having a parent). */ -static void __merge_refs(struct list_head *head, int mode) +static void __merge_refs(struct list_head *head, enum merge_mode mode) { struct __prelim_ref *pos1; @@ -829,7 +832,7 @@ static void __merge_refs(struct list_head *head, int mode) if (!ref_for_same_block(ref1, ref2)) continue; - if (mode == 1) { + if (mode == MERGE_IDENTICAL_KEYS) { if (!ref1->parent && ref2->parent) swap(ref1, ref2); } else { @@ -1374,7 +1377,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, if (ret) goto out; - __merge_refs(&prefs, 1); + __merge_refs(&prefs, MERGE_IDENTICAL_KEYS); ret = __resolve_indirect_refs(fs_info, path, time_seq, &prefs, extent_item_pos, total_refs, @@ -1382,7 +1385,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, if (ret) goto out; - __merge_refs(&prefs, 2); + __merge_refs(&prefs, MERGE_IDENTICAL_PARENTS); while (!list_empty(&prefs)) { ref = list_first_entry(&prefs, struct __prelim_ref, list);