Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4519432rdb; Tue, 12 Dec 2023 01:35:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IHMCySLSPtMWRm5SsipBf+c7BZzXeqib6aecmtlHJJ2JnEtWTKLf+kEe3MRNk6b9WVBHt7V X-Received: by 2002:a05:6a00:1d26:b0:6ce:2732:58a with SMTP id a38-20020a056a001d2600b006ce2732058amr7330515pfx.59.1702373710437; Tue, 12 Dec 2023 01:35:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702373710; cv=none; d=google.com; s=arc-20160816; b=i8kTaXiPA301WGm+QNad8q8kAd9VeSdoOchjf7nSu+AH5nOBUiCp9A8ht6iMQx9F4x wy3eEpwbNclALSQIXpj6SpH2lzxEDHvZRyhmBfb4VfiwUHV00qDaizv2VJLs9BgaiRB1 yRf1rHsfi0dJwBS6yWUVHw9Jpn2f57xr0y8gqIY9R0uqCmvqABmjZskCh161Xo3rl1dn CWV5JpTtSx4q9hCq2QDb0leHrFmQ/ITg70wQXmGvjkMRevbsM49QQHkHskS7Yjhn0MCS SUvjoxWdx3HdSsxhx7AaookRoYDXQ6W+HSt8YigKwpZAAh4zn+WEHPdKONnl3f6lwpMi aqng== 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=L3LtU9ZZMb4MksVfwT4wX7C2QStp89uUNsEax5Tniro=; fh=gqQQl+5XMfRND3DUDJQf2dO1x5kb2VNIHuPG/pYAMpw=; b=QKya4Tg11thA/n2g7RoRbtJE0OnUKWkLxTdAeDNfGS6wU78vntHNJPSoXDaezOZDKS iwMgV524lY7l9VOH5+Dda09fL7wy6uJQY49o8+g1bEvvgTsuBbW1XTISR3RyqxVJiukX r9vFMHDX/HUA9NaVNM+KDxAGh/Ps0R8Q7DwDH2G6K4w2+l+Q3CXwe3BLb3faNFV+9TKy yti1a7EapMLoF41F7zdyi6Cuzg0oJ20y7xbJ2h7DEJTkRSUYnSnMJ0JkrdNPgyDG7o5N g+pl9prAFmZWiOrj5nD3uG3cImJWM0w31ny5PlmGGbWd8zvTmDw6UGynEzhHz5yxFhg2 Aylg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JrGdOvJA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id f17-20020a635551000000b005bd39be60b3si7221002pgm.390.2023.12.12.01.35.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Dec 2023 01:35:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JrGdOvJA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5537180AC5B3; Tue, 12 Dec 2023 01:35:09 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231126AbjLLJe7 (ORCPT + 99 others); Tue, 12 Dec 2023 04:34:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229966AbjLLJe5 (ORCPT ); Tue, 12 Dec 2023 04:34:57 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A720DB; Tue, 12 Dec 2023 01:35:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702373704; x=1733909704; h=date:from:to:cc:subject:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MHJAz3v3MCO7iUNVoczO1+k4R+v5yY9xBnHLxI+eAq8=; b=JrGdOvJA4V9zs9c4AvF0uzRtYvXs5VBWD3ksOmNO3ldxwTubEEbRBQGo h1rbziswX5Qg6HTXJU8RdAwNM4mXthTrvWnDBn4YY5eHhlqLVdNhOPj7S 6AepYPF2KEFc3NLNbdZExPKYdp8y07dpxtLw5J4KlLWmNAIZR0RHLp/wl 7uXIBORsb9XOSkUjGIa23ZaGYsqKMge5QNsDSRIu/P+BUcYrXvQgZA9YB oucs2gkAvHeP13dm1DKcYpAU5VkCH7+4PSFexklE4MbBUdUH96Now1Wvb z0B7uupvYWJ6HxKqdSGjmzvPfR/Np47OgV+N6N8NJ7DAd5aqpAs5ZTFHH w==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="16331454" X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="16331454" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 01:35:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="14890458" Received: from mtkaczyk-mobl.ger.corp.intel.com (HELO localhost) ([10.249.144.153]) by orviesa002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 01:34:59 -0800 Date: Tue, 12 Dec 2023 10:34:46 +0100 From: Mariusz Tkaczyk To: Yu Kuai Cc: linan666@huaweicloud.com, song@kernel.org, zlliu@suse.com, neilb@suse.com, shli@fb.com, linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, yi.zhang@huawei.com, houtao1@huawei.com, yangerkun@huawei.com, "yukuai (C)" Subject: Re: [PATCH] md: Don't clear MD_CLOSING when the raid is about to stop Message-ID: <20231212103446.00007e41@linux.intel.com> In-Reply-To: References: <20231211081714.1923567-1-linan666@huaweicloud.com> <20231211105620.00001753@linux.intel.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset=gbk Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 12 Dec 2023 01:35:09 -0800 (PST) On Tue, 12 Dec 2023 11:21:28 +0800 Yu Kuai wrote: > Hi, > > ?? 2023/12/11 17:56, Mariusz Tkaczyk ะด??: > > On Mon, 11 Dec 2023 16:17:14 +0800 > > linan666@huaweicloud.com wrote: > > > >> From: Li Nan > >> > >> The raid should not be opened anymore when it is about to be stopped. > >> However, other processes can open it again if the flag MD_CLOSING is > >> cleared before exiting. From now on, this flag will not be cleared when > >> the raid will be stopped. > >> > >> Fixes: 065e519e71b2 ("md: MD_CLOSING needs to be cleared after called > >> md_set_readonly or do_md_stop") Signed-off-by: Li Nan > >> > > > > Hello Li Nan, > > I was there when I needed to fix this: > > https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/commit/?h=md-next&id=c8870379a21fbd9ad14ca36204ccfbe9d25def43 > > > > For sure, you have to consider applying same solution for array_store > > "clear". Minor nit below. > > > > Thanks, > > Mariusz > > > >> --- > >> drivers/md/md.c | 8 +++----- > >> 1 file changed, 3 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/md/md.c b/drivers/md/md.c > >> index 4e9fe5cbeedc..ebdfc9068a60 100644 > >> --- a/drivers/md/md.c > >> +++ b/drivers/md/md.c > >> @@ -6238,7 +6238,6 @@ static void md_clean(struct mddev *mddev) > >> mddev->persistent = 0; > >> mddev->level = LEVEL_NONE; > >> mddev->clevel[0] = 0; > >> - mddev->flags = 0; > > > > I recommend (safety recommendation): > > mddev->flags = MD_CLOSING; > > Taking a look I think both MD_CLOSING and MD_DELETED should not be > cleared, however, there is no guarantee that MD_CLOSING will be set > before md_clean, because mdadm can be removed without running. Hence I > think just set MD_CLOSING is werid. > > I think the proper way is to keep MD_CLOSING and MD_DELETED if they are > set. However, there is no such api to clear other bits at once. Since > we're not expecting anyone else to write flags, following maybe > acceptable: > > mddev->flags &= BIT_ULL_MASK(MD_CLOSING) | BIT_ULL_MASK(MD_DELETED); Yes, MD_CLOSING is a bit number to not a bit value I can assign directly. Thanks for clarifying! Mariusz > > Or after making sure other flags cannot race, this patch is ok. > > Thanks, > Kuai > > > > > Unless you can prove that other flags cannot race. > > > >> mddev->sb_flags = 0; > >> mddev->ro = MD_RDWR; > >> mddev->metadata_type[0] = 0; > > > > . > > >