Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1093838pxb; Thu, 19 Aug 2021 20:19:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAmUKtMDfvdQEhWED7vqN9aWRvMarDfb4HXHjcK+bhp8XUXUnYPTmQ7Y9d60T0M2GyZAoK X-Received: by 2002:a17:906:f190:: with SMTP id gs16mr19448860ejb.439.1629429578062; Thu, 19 Aug 2021 20:19:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629429578; cv=none; d=google.com; s=arc-20160816; b=VHzlMCbvQEHUqgyZ6z14GCO2VqfDHTU41FRnaOY3pi3SHrAbE7Z6Fml65ow0dmwSct 6BIsxPZk+l7nRarv3lKS7bMO0FTUyPF65jNiakrBURZNrHO023ALPcGlofmhq81qFawi 7yQE39r/kVcmI6V2ejvehf65m5suy9tHrYkVNnIaKqnRvCZ5oxE5pIJUbs9krExWM2/r AWFAVbu3wkNZ0lJ8YYXqTh7UGuKteGiOcW3kYmFpe5Pwf0CgdlSfp4SGjm/F7N/eqjQn M0ju2pkIkaYVDgnJoVEAYO38y+UhAlPBsruzAWkpMSQdWJLfSCs/uwEaPZZDA2KElXhH ckag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:subject:from :references:cc:to:dkim-signature; bh=ZuAxEr7rUzUJYGeM+elzpLfHWJoQptO/KsJ1xuadZ28=; b=kjvwSpKwp83zga1yzTA/uwGaZv+uYXNAuH5lp+iMKp569S2XrkRZew+9XLV3wQ7PV4 ahJ533fje9Bzrg50sFcV8r9ZIMKUysHLOP7loE0YGzG7mhSv1a8nwJj2rvhBnd1CcUJH HZtVQ2o5Y6gRjIAWPt4E72mPZ2upd5JzOUwVmeSOt6NzaK/akElneRzJpYslDrZ9C10C e7EhMni9RUWMobqYXVW3SRCbFsdudYwsbajCIRDfyBwlycVVykIMMiSSjJb2LQLpal8c TlQTKXm9vp3PXxzBEdomZ9GC+m55opSqfBY1oz1dtCqmwD7bQHpLkKJ0BiVE63nGM/WZ 7/ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=GbPdpozn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t12si5958102edc.333.2021.08.19.20.19.15; Thu, 19 Aug 2021 20:19:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=GbPdpozn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238069AbhHTDRx (ORCPT + 99 others); Thu, 19 Aug 2021 23:17:53 -0400 Received: from mout.gmx.net ([212.227.17.21]:55315 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238160AbhHTDRm (ORCPT ); Thu, 19 Aug 2021 23:17:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1629429391; bh=V5XZJQsl6GSU/nN3lVaCUhZx1eo1YnmpBA/pDoQCiog=; h=X-UI-Sender-Class:To:Cc:References:From:Subject:Date:In-Reply-To; b=GbPdpoznZaRuE5D2d1ytyoqbqAh2kmVF5Zk0NPT35btiW5QtQ7V+VRAIsYzKcHt1t V5RleeB/ooOSmIp8Y203RCkppycyhocknbaklkWA0bU5Qd8jR0Jkhw5YrSLjfIYyYp Ake4jpyhDlrTk4GMbN6m1MeapdvTc/amrRuDcMIY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [0.0.0.0] ([149.28.201.231]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MmlXK-1mxQmP02VS-00jqVm; Fri, 20 Aug 2021 05:16:31 +0200 To: jing yangyang , Chris Mason Cc: Josef Bacik , David Sterba , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, jing yangyang , Zeal Robot References: <20210820023229.11369-1-jing.yangyang@zte.com.cn> From: Qu Wenruo Subject: Re: [PATCH linux-next] fs: btrfs: fix returnvar.cocci warnings Message-ID: <900f28f9-6efe-48a7-246f-797a9aa48c07@gmx.com> Date: Fri, 20 Aug 2021 11:16:24 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210820023229.11369-1-jing.yangyang@zte.com.cn> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:1Eb3Xh2BClx/T3S4d2pYDXg2iPk43ppjnD4Aw069EVEIIWTqTPr B4bF7Whl9O88FfS/0LBNlQhnKKJPmTlx13zDCqZD0lZ2wA4Ui0zseN9xe7BVsTjg0aJk5Yb YLy9EPPD6bA5suUMntxeyrnU6w2hQBwdQMVcL4Slp4AJIF5l8GaHyNEWpJ40bUjeZsDMKIn e/AY+LAiqpcHTtcKEDFpg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:wrz3KltuxhI=:aX8//oYvG0j9hP7cs8mwP4 KhwzEhAk64V8hxZohgtVhORYIRPYbSHJZOWHLWHfThnVAozpMtfKi5GEMOzxYDxI5ds51EojG EgxoBdjQewTPBm7mtjcwkDP+Y9C3TVlPymOVS7uQtRORwF3IfnIsIclwmU1quZ2mslkn2DoA3 D6aOKOrHkmH9qmux10ws08ckntaF3J5Wz5i8FXHeyAE9AGa3k7vPRlZoyBTHCQeDo/gxurYfi fthWk1xVS7VKH5QQ3pFnjgUYqVFDQNW69zSUyoEGYDNvbwN0Gw513CMDySYpYxmLByovqjIbk P2RSrw6TSiuAwATJ1AYWLoEdqCTsZoxgnCQREFsdjuaPLpYeAfuIAYZY2xO4vHfolTcgwV4iB foii0UrkcTD9GrdYMZKyltKOfMztW3JlX0vCsOduzEzwAJ33BJYkH6hp3u7jeAYom1aWbrqoF vW63wB7KeQ4MubyVyBKzry6Vwp3VXeEuOt4yBp2ZHauipQg+rbZQ2pnnse2BrXE8/zL1g4R9d 1mzXNZLbdWArbia3K0MJOhJD3ee3CwxNALid7P7iGzybzO2tZvB+RHsF/UtxiYk4XZl8SDkmG AzYYb+zyL6nnDdlc/PUeQYbp4f6cQI9c1YvWhkjvEO0eVekYjncqrp7kBxkA+cBSqk+MTCHJ/ ozW7Il2LhfZz5hehkfBTPkuRi3OADbswM5vmuBCZKsdeZfTdNYsGHWIejaWaSCm01vSd+8FVN Vu39RNBf4uYsPqbgYpDwj8mnZ6M9an7yncIIQqDEBJPyD76G408AaLR70oGGRr5WgS/2XwvSZ AjG0LxbaPSBH3ZUFUDLwRynv1b2xaZzn9wOEhfWatsPhsVKQL2sZ/eCVLbThKNgC/H9JVZiYc UgPQApN6ZgVVvCpt2hrv5eS4eO6jrJeQ7dDNjfm+QezmJkyw1phFjcKutNt6eebjjsR5DiCZo 5PWC1nLN6QzVaYsyvNYBaWECUyR2edMODbcXjqpAVmuXBOgbxBzuXdfTIOHgzDIbtOI/IvlpP pC/GOn1rTSXjfuIabah/Cq5/WZKls8jDyLQToebdikJWyfsupX8IwIlPHuk+Y7mc67FXjtrHv nbkCdWNdqu1203JvsrHvBKBhhkih6s08jliQ66urmv9z9f9YiW62JjN8w== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021/8/20 =E4=B8=8A=E5=8D=8810:32, jing yangyang wrote: > Remove unneeded variables when "0" can be returned. > > Generated by: scripts/coccinelle/misc/returnvar.cocci > > Reported-by: Zeal Robot > Signed-off-by: jing yangyang > --- > fs/btrfs/extent_map.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c > index 4a8e02f..58860d7 100644 > --- a/fs/btrfs/extent_map.c > +++ b/fs/btrfs/extent_map.c > @@ -296,7 +296,6 @@ static void try_merge_map(struct extent_map_tree *tr= ee, struct extent_map *em) > int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 le= n, > u64 gen) > { > - int ret =3D 0; > struct extent_map *em; > bool prealloc =3D false; > Please just check the lines below: em =3D lookup_extent_mapping(tree, start, len); WARN_ON(!em || em->start !=3D start); if (!em) goto out; This looks more like a missing error handling. Thus the proper way to fix it is not just simply remove the "int ret =3D 0;" line (which compiler is more than able to optimize it out), but properly add the error handling, and modify the only caller to catch such error properly. Some diff like the below would be more meaningful: diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index 4a8e02f7b6c7..9182d747a50e 100644 =2D-- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c @@ -303,10 +303,11 @@ int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len, write_lock(&tree->lock); em =3D lookup_extent_mapping(tree, start, len); - WARN_ON(!em || em->start !=3D start); - - if (!em) + if (!em || em->start !=3D start) { + WARN(1, KERN_WARNING "unexpected extent mapping\n"); + ret =3D -EUCLEAN; goto out; + } em->generation =3D gen; clear_bit(EXTENT_FLAG_PINNED, &em->flags); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 2aa9646bce56..313b0a314c0b 100644 =2D-- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2989,6 +2989,7 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent) u64 start, end; int compress_type =3D 0; int ret =3D 0; + int ret2; u64 logical_len =3D ordered_extent->num_bytes; bool freespace_inode; bool truncated =3D false; @@ -3076,8 +3077,11 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent) ordered_extent->disk_num_bytes); } } - unpin_extent_cache(&inode->extent_tree, ordered_extent->file_offset, + ret2 =3D unpin_extent_cache(&inode->extent_tree, ordered_extent->file_offset, ordered_extent->num_bytes, trans->transid); + if (ret2 < 0 && !ret) + ret =3D ret2; + if (ret < 0) { btrfs_abort_transaction(trans, ret); goto out; Thanks, Qu > @@ -328,7 +327,7 @@ int unpin_extent_cache(struct extent_map_tree *tree,= u64 start, u64 len, > free_extent_map(em); > out: > write_unlock(&tree->lock); > - return ret; > + return 0; > > } > >