Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp3821883rdb; Mon, 11 Dec 2023 00:18:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IH2pGgwubG0vUj1a99XpPX5NazMkeuKXfEOc12VIk6rmofQs0QYxS+JIFA51kc+ZOXk+TM+ X-Received: by 2002:a17:90a:a093:b0:27f:f655:e14c with SMTP id r19-20020a17090aa09300b0027ff655e14cmr861662pjp.42.1702282732927; Mon, 11 Dec 2023 00:18:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702282732; cv=none; d=google.com; s=arc-20160816; b=c3Ol+YMmwmMVy2AVx1zo9PSUws7Fr/OOcNSs2r1DKRilEGgzRfD9LRySbERFNtGP+b 5p4/5/tqj7LJSFQkejPdF5aGA10H1tHBJXzSexGeOptYW/Zb9IdczEK66LYEnHmAhPwR FooscR+7E+0QEg1MrdBpMAvIZpu3mrJl9lGsOy+Wp1IrJF2fGfp5uEH+1I95GpU3DAlX BoLQR/1pm0ToyK4O510qBwXpb7O3CM5tIgSIncE1h85xhIqkbKcSG6FJqJEl7Av22p/Z qcafYfi02ePT+PX8lSW+uZYes4Cdcdx3SrlwDpn8yfLW1PZW6YKuRkGpWC7E68E02FV5 6uwQ== 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 :message-id:date:subject:cc:to:from; bh=JDHTT8f359VXD8DPbgxtEZa5YMGc+eF+vP9OsrQM690=; fh=CSkUREzWa3dtwa18CaTyeaY19v1mFTX69eBmV7HiS1o=; b=t42LUaCqIgNy5gZAMJP0+TeQEPt7fKHNhtbUeHqnuZuD5e1uYOFKAGnEVmec0N/85e j2MRWIdz5gcrz2iUmSAUMRjRanAEAR6/45TLJEfm8T3RI9aF1F4xyl9dY90WpH02Y9Gs wy0RqT6ENzMv8hQKeoKqnqEjubCDzf0Y3bWKPRjjeGjEyKOkNTWtFd+C9clUD4gAoEUd ywgSG6J4Y7wenRJTKwLdHtaamL0gho64s8qsgS2UbZQlRgI2HiW+syEpzl5fmVh5n1R6 oD1UhJgLCSdBIu2drBCjg2/0kBJuAF1zneoswiFlBfRbLYEB3o1QubaiS17o6tC5E7kH TbBw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id a6-20020a17090a740600b002810ae70420si6922242pjg.121.2023.12.11.00.18.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 00:18:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 46CCA8095882; Mon, 11 Dec 2023 00:18:50 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233767AbjLKISh (ORCPT + 99 others); Mon, 11 Dec 2023 03:18:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39140 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229463AbjLKISf (ORCPT ); Mon, 11 Dec 2023 03:18:35 -0500 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B9BAEED; Mon, 11 Dec 2023 00:18:41 -0800 (PST) Received: from mail.maildlp.com (unknown [172.19.93.142]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SpZQ40fQzz4f3kjD; Mon, 11 Dec 2023 16:18:36 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.112]) by mail.maildlp.com (Postfix) with ESMTP id 7F7321A0837; Mon, 11 Dec 2023 16:18:38 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP1 (Coremail) with SMTP id cCh0CgDHyhDcxXZlKwVbDQ--.7085S4; Mon, 11 Dec 2023 16:18:38 +0800 (CST) From: linan666@huaweicloud.com To: song@kernel.org, zlliu@suse.com, neilb@suse.com, shli@fb.com Cc: linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, linan666@huaweicloud.com, yukuai3@huawei.com, yi.zhang@huawei.com, houtao1@huawei.com, yangerkun@huawei.com Subject: [PATCH] md: Don't clear MD_CLOSING when the raid is about to stop Date: Mon, 11 Dec 2023 16:17:14 +0800 Message-Id: <20231211081714.1923567-1-linan666@huaweicloud.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: cCh0CgDHyhDcxXZlKwVbDQ--.7085S4 X-Coremail-Antispam: 1UD129KBjvJXoW7Cw13Zr18XryUAw4DCFy5CFg_yoW8Zr45pF 4xWF98KrWUGr9I9w4Utw4kXFyYq34aqrWvyry29a4rWa4Yyr9rJryFg398tryxGrZ5JFs8 Xa1UCa1Uu3WxW3JanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBY14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xv F2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r 4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I 648v4I1lFIxGxcIEc7CjxVA2Y2ka0xkIwI1lw4CEc2x0rVAKj4xxMxAIw28IcxkI7VAKI4 8JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xv wVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjx v20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6xAIw20E Y4v20xvaj40_Wr1j6rW3Jr1lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x 0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbSApUUUUUU== X-CM-SenderInfo: polqt0awwwqx5xdzvxpfor3voofrz/ X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email 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 (lipwig.vger.email [0.0.0.0]); Mon, 11 Dec 2023 00:18:50 -0800 (PST) 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 --- 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; mddev->sb_flags = 0; mddev->ro = MD_RDWR; mddev->metadata_type[0] = 0; @@ -7614,7 +7613,6 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode, int err = 0; void __user *argp = (void __user *)arg; struct mddev *mddev = NULL; - bool did_set_md_closing = false; if (!md_ioctl_valid(cmd)) return -ENOTTY; @@ -7698,7 +7696,6 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode, err = -EBUSY; goto out; } - did_set_md_closing = true; mutex_unlock(&mddev->open_mutex); sync_blockdev(bdev); } @@ -7742,10 +7739,13 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode, case STOP_ARRAY: err = do_md_stop(mddev, 0, bdev); + if (err) + clear_bit(MD_CLOSING, &mddev->flags); goto unlock; case STOP_ARRAY_RO: err = md_set_readonly(mddev, bdev); + clear_bit(MD_CLOSING, &mddev->flags); goto unlock; case HOT_REMOVE_DISK: @@ -7840,8 +7840,6 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode, mddev_unlock(mddev); out: - if(did_set_md_closing) - clear_bit(MD_CLOSING, &mddev->flags); return err; } #ifdef CONFIG_COMPAT -- 2.39.2