Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753615AbdHUMiZ (ORCPT ); Mon, 21 Aug 2017 08:38:25 -0400 Received: from mout.web.de ([212.227.15.3]:62563 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753049AbdHUMiX (ORCPT ); Mon, 21 Aug 2017 08:38:23 -0400 Subject: [PATCH 1/5] btrfs: Use common error handling code in tree_mod_log_eb_copy() From: SF Markus Elfring To: linux-btrfs@vger.kernel.org, Chris Mason , David Sterba , Josef Bacik Cc: LKML , kernel-janitors@vger.kernel.org References: <1e8e1da2-a9e3-9dc7-6ffe-6c32f8464337@users.sourceforge.net> Message-ID: <2aa6dff0-92e4-d5da-30fe-69f6c81fc6d7@users.sourceforge.net> Date: Mon, 21 Aug 2017 14:37:40 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1e8e1da2-a9e3-9dc7-6ffe-6c32f8464337@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:JTxOMYAhUl8Sww3rzgMcjc3u7Y/T9CKyjqq45EzWz8OArv2RsV7 8suxw2JpBojn4U3wXQPlg0JKby1hnd2dRSdW1dr9/CARua0+uifhmTMXM303hujuxlNnAIm DhYGDibCal+KKgaUjvqypvtQj/xy9wuhQijQCRRxzjxBsJnzyeZnGe2RYZQKM//dxqcxVrB GcRw4x5dtJdYYr48QNYMw== X-UI-Out-Filterresults: notjunk:1;V01:K0:yi+FVYVJscM=:IT7Kki1kjSZXVGrjQTL+8R IvMvoEBYx0lFC2RcAGE/5MLZfe86apLETSxZ77ZTk8WdGVCeKBjnzQZw48guP7NFdj6Hqz0I4 W5CAnRtgH8WvDgTkebNmXzXbHu5CQzWwtCj0RaYr1PMq8UrDVpK/LDITRukC9xWfjkAEsOZl8 +nyGTWGNYGqbSr9qyMC1FJ7PU3bjn/z86VVFZsAnW7EdPt/9lR54O3GM7zmw4AGQnTDwKajYL hJhThHj7TWG5O2O5xNtYMxTkFEOIuu8ObF5dojnjZFcDoXykQ3JTQv51pe2gag7dPre+qO3xN UXgKOD0A+RYXscKJGprt3fY7o71PFjqTq4bQZuJ1yL5HwGiX2ytc6pVmpZI04K8B+jId3wywP q0C6PH+6Cfu7r7ez1gDnnEg/5GuJk65jk5Jio8XkYW7975WlcFfxqStTBqEUs8sMVsvFn+6Ng XCmj4iMJdWZ1o2T7cA7UO5tDnoopFrIyG4tCTaUshuhWUQR7JJq9HcwW2LbdjoTSuoe1iZLUL oifh5W+BgNyLhbtTDY8jPlUWNPJQmpSSPx9w4+Td+kkf866PfGDN8JkGAxZSdmQ7SyJZuC2DF dC5QCp1/C/r6N8Y2JVLGklu7y9JnXNs9DPlqU7VApvdIAAtHMLSBHpMbm9bzGgh9OfV/vb51D 1uCioJ9/TletosBM/TPlIfVWb2ukFjb/26IRlIz0eRIfirHperC72KBIfNYYh37+jamSKVkF3 XFVonFs5DLMYbJZ+Dv+zZ/68UUh9lwsX1eVADeEBk34ox2/cm3xmFg6bXLqGhtlY3luGn/OeO MxebyJV/Lcu240hdYXg1haHghppw8PVw3M/dXMudOeEiUDeOISukSGa31WLqLLN40JPMmGU Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1335 Lines: 48 From: Markus Elfring Date: Mon, 21 Aug 2017 09:36:48 +0200 Add a jump target so that a bit of exception handling can be better reused in this function. Signed-off-by: Markus Elfring --- fs/btrfs/ctree.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 6d49db7d86be..d29cf946ebf9 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -823,17 +823,13 @@ tree_mod_log_eb_copy(struct btrfs_fs_info *fs_info, struct extent_buffer *dst, for (i = 0; i < nr_items; i++) { tm_list_rem[i] = alloc_tree_mod_elem(src, i + src_offset, MOD_LOG_KEY_REMOVE, GFP_NOFS); - if (!tm_list_rem[i]) { - ret = -ENOMEM; - goto free_tms; - } + if (!tm_list_rem[i]) + goto e_nomem; tm_list_add[i] = alloc_tree_mod_elem(dst, i + dst_offset, MOD_LOG_KEY_ADD, GFP_NOFS); - if (!tm_list_add[i]) { - ret = -ENOMEM; - goto free_tms; - } + if (!tm_list_add[i]) + goto e_nomem; } if (tree_mod_dont_log(fs_info, NULL)) @@ -854,6 +850,8 @@ tree_mod_log_eb_copy(struct btrfs_fs_info *fs_info, struct extent_buffer *dst, return 0; +e_nomem: + ret = -ENOMEM; free_tms: for (i = 0; i < nr_items * 2; i++) { if (tm_list[i] && !RB_EMPTY_NODE(&tm_list[i]->node)) -- 2.14.0