Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp159019imw; Thu, 14 Jul 2022 23:45:43 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tvz1KQpzTHyKjMbdO9lL0EZ5puvAR0cihScEOgYREpFAcUWG8ilm5RZN0pnMjqBPvzvh1W X-Received: by 2002:a17:907:2cf5:b0:72b:7656:f162 with SMTP id hz21-20020a1709072cf500b0072b7656f162mr11666919ejc.565.1657867543215; Thu, 14 Jul 2022 23:45:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657867543; cv=none; d=google.com; s=arc-20160816; b=VEyz2cRvNVZbvWVUpyDec6RX9+Qy+7Q42Jzl25DsRWnMVYsInt3DiaeovLOfmNXGTX xiabrCYTSF6FPxzgYE347JAbjhbO89ToqPIe3ifGxi0/D8/sykpSIA9ejTJ1dWVJKWig 2lkx1BuqzYy1sep8A3Sb7XDpqkRpUimiMQXpifjsq/J64bUGMT6ZIGPBpfUyUKo4ukRN dcfv2QFuqbQRn8YmuK8Joo6r12Jq2U+O1ZYm5R+3o+Zf1fm8wDns1g6dfau9gy0n+U4F InbQWBFdtKEAlpVV9qYw0a0UUs7feePoFhhMBkvb/SavsOqJThDTn1n8EIkZGa6KgxtQ 1rPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=7Nj+Clt9ZkEOhilN6GICXjikzzBZghfnwZ/Dm9+HmTo=; b=kvOBiyL9wswSnMxGZzkNHAe/LUpHUe8zPZmNNEly5BE4VGSg+p54DsLqf0Wm43V2fB LdSQsevYmCe3bAxDI1843AA/3faNce1b6p49n7V5TKvhzh/sY6Fp+tvTGxZy6JR0xYtC Yt6hBv99yfyGbJHvwY3wRXvjcaTX1G3rXd671DUJYbstSMUjGBKlipGGiCHRNtjeUFM0 XJtbjsq3GXJQh58mrrGdq9izxWV48uwAqDO2TcKaoH6Jy1pVHFFhYhn123O3jk8Kn5Tx ns+hSztvZA5Z4NxizQqp+LJHc60ccx1J+8ri9Sks0RI3WobQPONQevzrFVunYn2RNwG2 3Pqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mwJkMnLw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l12-20020aa7c30c000000b0043ac3882c0csi3981979edq.602.2022.07.14.23.45.18; Thu, 14 Jul 2022 23:45:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mwJkMnLw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231371AbiGOGUl (ORCPT + 99 others); Fri, 15 Jul 2022 02:20:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230087AbiGOGUj (ORCPT ); Fri, 15 Jul 2022 02:20:39 -0400 Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B36F65D6E for ; Thu, 14 Jul 2022 23:20:38 -0700 (PDT) Received: by mail-pj1-x1036.google.com with SMTP id o31-20020a17090a0a2200b001ef7bd037bbso5240477pjo.0 for ; Thu, 14 Jul 2022 23:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7Nj+Clt9ZkEOhilN6GICXjikzzBZghfnwZ/Dm9+HmTo=; b=mwJkMnLwTVy3fOxc9CUwVdBQ+JVYJgWfg0AJjJUXUuEwFZoFT56M7qE9Ww1IVf0IyQ GdbkY3+dIVefF6zQA/TzE2Cw15nEBQD6doXBwd1cC4+vxM9AU2jfL+dwzW3j5bJvMsBQ /7OsVK1hwO0XV7qXRFKabM9eoeY/7wW6ByTi1SyxdtgrPEwLLyu8Gk/dc7Nai7A//Fjf Lv1NWrXfgHkrwgSZsxnvIpmGd5c5s6evfbPlDJEAWj7Xb6vtPjL7Iau7Zoj1KR7jxgW+ kEwM8+//HF0pf/OScF5XwMEbyLIesJVF/6nPHDN16+L3Y28HK3RKTlXC6Gb+ZZZy7z1P O7KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7Nj+Clt9ZkEOhilN6GICXjikzzBZghfnwZ/Dm9+HmTo=; b=YeDHwhQpMgGUdcoRyWzzrMW6GF48XhagmtyssouX9hKy64mNuktuTJvXCBE1qXiCic 3BeJZLCuaPNLDN+vbEz1Y7uqkMDc1J6gkZ+S+hVZBg6+LiC/BMP58Rq8debDhWEZFaHY /DhR/vDbO70NJh9VgubwVR0lQDROFCEHdMdHfLPemAhdQ0vbMu0FghWLBmaP6KbIxj4l 4e2yqUT0GldwV5ZWJ7a1Ay2lzxKJVxSM4z+uFFrQRvOyC2Hb4mo6lO8EDch00+v+tq6M rMOgwNhExnTGglNIXuv9ggvweY+Q7VcMhg6wcwnR+RX3RXZdVkE1WJ7A5CBU3n2xuPJr 8Kgw== X-Gm-Message-State: AJIora9ZKOlHfg2g+LwO9AC/bXlKwF98ffKmGl2zCGbiSe+B0Sd5YzqW QLf2PwpCdNOBNy3b5DjdHDA= X-Received: by 2002:a17:902:c40a:b0:16c:408:57d6 with SMTP id k10-20020a170902c40a00b0016c040857d6mr12190575plk.157.1657866037951; Thu, 14 Jul 2022 23:20:37 -0700 (PDT) Received: from localhost ([156.236.96.165]) by smtp.gmail.com with ESMTPSA id h15-20020a170902680f00b0016bdeb58611sm2578624plk.112.2022.07.14.23.20.36 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Jul 2022 23:20:37 -0700 (PDT) Date: Fri, 15 Jul 2022 14:22:01 +0800 From: Yue Hu To: Gao Xiang Cc: linux-erofs@lists.ozlabs.org, Chao Yu , LKML , zhangwen@coolpad.com Subject: Re: [PATCH 02/16] erofs: clean up z_erofs_collector_begin() Message-ID: <20220715142201.000030f1.zbestahu@gmail.com> In-Reply-To: <20220714132051.46012-3-hsiangkao@linux.alibaba.com> References: <20220714132051.46012-1-hsiangkao@linux.alibaba.com> <20220714132051.46012-3-hsiangkao@linux.alibaba.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 14 Jul 2022 21:20:37 +0800 Gao Xiang wrote: > Rearrange the code and get rid of all gotos. > > Signed-off-by: Gao Xiang > --- > fs/erofs/zdata.c | 32 +++++++++++++++----------------- > 1 file changed, 15 insertions(+), 17 deletions(-) > > diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c > index 1b6816dd235f..c7be447ac64d 100644 > --- a/fs/erofs/zdata.c > +++ b/fs/erofs/zdata.c > @@ -521,7 +521,7 @@ static int z_erofs_register_pcluster(struct z_erofs_decompress_frontend *fe) > static int z_erofs_collector_begin(struct z_erofs_decompress_frontend *fe) > { > struct erofs_map_blocks *map = &fe->map; > - struct erofs_workgroup *grp; > + struct erofs_workgroup *grp = NULL; > int ret; > > DBG_BUGON(fe->pcl); > @@ -530,33 +530,31 @@ static int z_erofs_collector_begin(struct z_erofs_decompress_frontend *fe) > DBG_BUGON(fe->owned_head == Z_EROFS_PCLUSTER_NIL); > DBG_BUGON(fe->owned_head == Z_EROFS_PCLUSTER_TAIL_CLOSED); > > - if (map->m_flags & EROFS_MAP_META) { > - if ((map->m_pa & ~PAGE_MASK) + map->m_plen > PAGE_SIZE) { > - DBG_BUGON(1); > - return -EFSCORRUPTED; > - } > - goto tailpacking; > + if (!(map->m_flags & EROFS_MAP_META)) { > + grp = erofs_find_workgroup(fe->inode->i_sb, > + map->m_pa >> PAGE_SHIFT); > + } else if ((map->m_pa & ~PAGE_MASK) + map->m_plen > PAGE_SIZE) { > + DBG_BUGON(1); > + return -EFSCORRUPTED; > } > > - grp = erofs_find_workgroup(fe->inode->i_sb, map->m_pa >> PAGE_SHIFT); > if (grp) { > fe->pcl = container_of(grp, struct z_erofs_pcluster, obj); > + ret = -EEXIST; > } else { > -tailpacking: > ret = z_erofs_register_pcluster(fe); > - if (!ret) > - goto out; > - if (ret != -EEXIST) > - return ret; > } > > - ret = z_erofs_lookup_pcluster(fe); > - if (ret) { > - erofs_workgroup_put(&fe->pcl->obj); > + if (ret == -EEXIST) { > + ret = z_erofs_lookup_pcluster(fe); > + if (ret) { > + erofs_workgroup_put(&fe->pcl->obj); > + return ret; > + } > + } else if (ret) { > return ret; > } > > -out: > z_erofs_pagevec_ctor_init(&fe->vector, Z_EROFS_NR_INLINE_PAGEVECS, > fe->pcl->pagevec, fe->pcl->vcnt); > /* since file-backed online pages are traversed in reverse order */ Reviewed-by: Yue Hu