Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp1905689rwl; Thu, 6 Apr 2023 03:05:47 -0700 (PDT) X-Google-Smtp-Source: AKy350bsslXYR5Huf0KflofMbSidSFnHK4hOgCdTcuo/b2FzYoR76Xlao/ozBKxjLJpmj4oXB9wC X-Received: by 2002:a05:6a20:2a10:b0:dd:c5cb:ac86 with SMTP id e16-20020a056a202a1000b000ddc5cbac86mr2696942pzh.41.1680775547526; Thu, 06 Apr 2023 03:05:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680775547; cv=none; d=google.com; s=arc-20160816; b=yi6BQ9ZHX/hGSMmbFU3BOizeELBodlHosWssDe/D4UeGJrqSg7jaxEEtmHGaZarzK3 sBFEFVOdQX0/5qb/g/zArX3yefnjMWq2ppKdu65k7lItIk4g4ETxvgfOM8W7E06O167M VrzUmQXCmb7H2Hu7ueF+a9hpg5Y0UoySyFPr0wGW3CH/S46DFU467h4+geTIiLsNdeKN Et5nTFbRf8X196RhKeoW0tg1vbc9JwiZ0a6Diw86m/awumFPXIt4OYfiWq2RfLlu4sGf sa9tVLOVlRlqRL3K0fQAlgWeNuLRFxSMGSzp5EchogVVU3c4hr9nODsRVzio3lWeU8Pw BksA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=OHmgJCtgQ7tAwWdpDZ7fWIfDhL1ZDj7+l2bnP3HlwrA=; b=mO3SEo3wDGP3J4wQGYpf+nnK3QGpFkh9mCIhqUsCYSN9WUxpJV8Ob5nx0aKuUdTtb+ cGb3gnmRUdC6oEK7kLgzzhWVP7mgtRsif+8IBp1XMmPez0l2jnv3wmpI8quQIuXNpNVR 8UklRR2+/sRtOXhILTIQ0GXAFzL96D+J70/3GM9yUQBmAqy932wYHxscewszonBkrV9C B5qk+7Ay33/ATunIqdX0enuC8qqrugbjlOdDUYW74cXutRSDD16HldBguNT3mUGBaF0b e7gfjidA6RexPiJ+An5t9h9KPIJKQW1XMzkgOdlXSMErEpdOZmbT2wg33nJxIXVCPN7H YwEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=IFDIe4Fe; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z2-20020a631902000000b0050f6aaf7f27si933698pgl.331.2023.04.06.03.05.34; Thu, 06 Apr 2023 03:05:47 -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=@linuxfoundation.org header.s=korg header.b=IFDIe4Fe; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236727AbjDFKFV (ORCPT + 99 others); Thu, 6 Apr 2023 06:05:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236829AbjDFKFI (ORCPT ); Thu, 6 Apr 2023 06:05:08 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 433D74C25; Thu, 6 Apr 2023 03:05:07 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 91C3262C20; Thu, 6 Apr 2023 10:05:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79D2FC433EF; Thu, 6 Apr 2023 10:05:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1680775506; bh=92lTD3EX6QZGcz05caCSQGuverBGUc9p+3YV5LN7ZSk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=IFDIe4FeiUOzbC59cAl1tE1lGX2tjalx7s96DwtifkQljZVqq+gTmWhspg+RQf7h9 EfF6Gza3ykeaYehWWBBfJjDzlJRDtzXQ91BIKws7z5Xn2An7LjW41Nk+tlTvAGx8tu HToafdlfkrlTxVzsZqyeuyITw91bjpabpMF64WxQ= Date: Thu, 6 Apr 2023 12:05:03 +0200 From: Greg KH To: Yangtao Li Cc: xiang@kernel.org, chao@kernel.org, huyue2@coolpad.com, jefflexu@linux.alibaba.com, damien.lemoal@opensource.wdc.com, naohiro.aota@wdc.com, jth@kernel.org, rafael@kernel.org, linux-erofs@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 3/3] zonefs: convert to use kobject_is_added() Message-ID: <2023040616-armory-unmade-4422@gregkh> References: <20230406093056.33916-1-frank.li@vivo.com> <20230406093056.33916-3-frank.li@vivo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230406093056.33916-3-frank.li@vivo.com> X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=unavailable 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, Apr 06, 2023 at 05:30:56PM +0800, Yangtao Li wrote: > Use kobject_is_added() instead of local `s_sysfs_registered` variables. > BTW kill kobject_del() directly, because kobject_put() actually covers > kobject removal automatically. > > Signed-off-by: Yangtao Li > --- > fs/zonefs/sysfs.c | 11 +++++------ > fs/zonefs/zonefs.h | 1 - > 2 files changed, 5 insertions(+), 7 deletions(-) > > diff --git a/fs/zonefs/sysfs.c b/fs/zonefs/sysfs.c > index 8ccb65c2b419..f0783bf7a25c 100644 > --- a/fs/zonefs/sysfs.c > +++ b/fs/zonefs/sysfs.c > @@ -101,8 +101,6 @@ int zonefs_sysfs_register(struct super_block *sb) > return ret; > } > > - sbi->s_sysfs_registered = true; You know this, why do you need to have a variable tell you this or not? > - > return 0; > } > > @@ -110,12 +108,13 @@ void zonefs_sysfs_unregister(struct super_block *sb) > { > struct zonefs_sb_info *sbi = ZONEFS_SB(sb); > > - if (!sbi || !sbi->s_sysfs_registered) How can either of these ever be true? Note, sbi should be passed here to this function, not the super block as that is now unregistered from the system. Looks like no one has really tested this codepath that much :( > + if (!sbi) > return; this can not ever be true, right? > > - kobject_del(&sbi->s_kobj); > - kobject_put(&sbi->s_kobj); > - wait_for_completion(&sbi->s_kobj_unregister); > + if (kobject_is_added(&sbi->s_kobj)) { Again, not needed. thanks, greg k-h