Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp1247rdg; Tue, 10 Oct 2023 02:22:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGnCWM/pXk7wB0dRyKGRcqZ6HdM3PMvgy0Z39HCQD33EFM128pKoBw4dlhzTXcMgmiGoPsJ X-Received: by 2002:a05:6358:5e0f:b0:134:e549:50d6 with SMTP id q15-20020a0563585e0f00b00134e54950d6mr22151441rwn.10.1696929740300; Tue, 10 Oct 2023 02:22:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696929740; cv=none; d=google.com; s=arc-20160816; b=lzPjvUKpDZk6LmxVqifN7HSAeLxj64GWDyMC3HljUUaabcvwGbaehj4Ci51fAQU8Tu IWI+zNEuTO7FpJlRIolMBCAlZdoLC7//c7EgGP6O8b4aJyZSGLgofCObRKBTeRUpC0Ze G5F25zK86nKWp7wKrVZ3YleYHRjUAaNl4zzDuqKxt/XKpAg0JzlMWqqDuB6ROvJrUYbk ANUNN10vmUJXxW1WC5B57kfW/vWyGnqtJDrVSlUSlGKOFAsBe7LY5ZAuTum8ZBFg/KJz cywSr9hnIO2CK2xlBMYWP15EcaLxdT+t3g9/SDAHgq1ZH42Lv/lkr0Sxy2tU1b9JxcW+ lwrQ== 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:date:subject:cc:to:from; bh=e09nBT8bfa26PaD96+FltWpvUJhHd7Q6oF9XArhLib4=; fh=Bw74vauKC02eaEbQr8FoniTYtc//6dp3BvPBLCS/H3M=; b=OeKrGOUeD88g0C5kKVgOEZim/CqI2qR4SkRhfgSd6GHh/joZKbsrhwdhaoSu4nK2d0 e3q1q/d5u1D/Q4ksTlnk4j2JqVd7Jhbuj2R0clVzt9VQ2L3mQMkiErDoDlx5yZN6wu/T jLg+NMyxzJJWiMSuxPXDqfI7yyLTndeEE9w+v5E4ptdeqKzLVPZ255BmvrGwXYf0lUIm p0LyX/iE9+NYyCoDWXxljvSFncDH8RDzZ7eFRl8D5qSHmU2Xy5TsuhTsJ1yG9FuzDTeI U8F7V+3fdM4neDbw9EpXb+UdVCr0/bESNJYKxr+EhB8Ey8rmys3QDLuXatdttCI2UuNi 9XTQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id cg20-20020a056a00291400b0068fcb779a3esi8877956pfb.278.2023.10.10.02.22.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 02:22:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 149558344A2B; Tue, 10 Oct 2023 02:22:16 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230282AbjJJJWC (ORCPT + 99 others); Tue, 10 Oct 2023 05:22:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230097AbjJJJV1 (ORCPT ); Tue, 10 Oct 2023 05:21:27 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D64B6B6; Tue, 10 Oct 2023 02:21:25 -0700 (PDT) Received: from kwepemm000012.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S4Vdr27gdztTMc; Tue, 10 Oct 2023 17:16:48 +0800 (CST) Received: from build.huawei.com (10.175.101.6) by kwepemm000012.china.huawei.com (7.193.23.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Tue, 10 Oct 2023 17:21:23 +0800 From: Wenchao Hao To: "Martin K . Petersen" , Douglas Gilbert CC: "James E . J . Bottomley" , , , , Wenchao Hao Subject: [PATCH v6 10/10] scsi: scsi_debug: Add param to control sdev's allow_restart Date: Tue, 10 Oct 2023 17:20:51 +0800 Message-ID: <20231010092051.608007-11-haowenchao2@huawei.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20231010092051.608007-1-haowenchao2@huawei.com> References: <20231010092051.608007-1-haowenchao2@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.101.6] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemm000012.china.huawei.com (7.193.23.142) X-CFilter-Loop: Reflected X-Spam-Status: No, score=2.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.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 (fry.vger.email [0.0.0.0]); Tue, 10 Oct 2023 02:22:16 -0700 (PDT) X-Spam-Level: ** Add new module param "allow_restart" to control if setup scsi_device's allow_restart flag, this flag determines if trigger EH after command finished with sense_key 0x6, asc 0x4 and ascq 0x2, EH would be triggered if allow_restart=1 in this condition. The new param can be used with error inject added in patch6 to test how commands finished with sense_key 0x6, asc 0x4 and ascq 0x2 are handled. Signed-off-by: Wenchao Hao Tested-by: Douglas Gilbert --- drivers/scsi/scsi_debug.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 2743eb36c58e..67922e2c4c19 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -843,6 +843,7 @@ static bool have_dif_prot; static bool write_since_sync; static bool sdebug_statistics = DEF_STATISTICS; static bool sdebug_wp; +static bool sdebug_allow_restart; /* Following enum: 0: no zbc, def; 1: host aware; 2: host managed */ static enum blk_zoned_model sdeb_zbc_model = BLK_ZONED_NONE; static char *sdeb_zbc_model_s; @@ -5478,6 +5479,9 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp) sdp->no_uld_attach = 1; config_cdb_len(sdp); + if (sdebug_allow_restart) + sdp->allow_restart = 1; + devip->debugfs_entry = debugfs_create_dir(dev_name(&sdp->sdev_dev), sdebug_debugfs_root); if (IS_ERR_OR_NULL(devip->debugfs_entry)) @@ -6202,6 +6206,7 @@ module_param_named(zone_cap_mb, sdeb_zbc_zone_cap_mb, int, S_IRUGO); module_param_named(zone_max_open, sdeb_zbc_max_open, int, S_IRUGO); module_param_named(zone_nr_conv, sdeb_zbc_nr_conv, int, S_IRUGO); module_param_named(zone_size_mb, sdeb_zbc_zone_size_mb, int, S_IRUGO); +module_param_named(allow_restart, sdebug_allow_restart, bool, S_IRUGO | S_IWUSR); MODULE_AUTHOR("Eric Youngdale + Douglas Gilbert"); MODULE_DESCRIPTION("SCSI debug adapter driver"); @@ -6274,6 +6279,7 @@ MODULE_PARM_DESC(zone_cap_mb, "Zone capacity in MiB (def=zone size)"); MODULE_PARM_DESC(zone_max_open, "Maximum number of open zones; [0] for no limit (def=auto)"); MODULE_PARM_DESC(zone_nr_conv, "Number of conventional zones (def=1)"); MODULE_PARM_DESC(zone_size_mb, "Zone size in MiB (def=auto)"); +MODULE_PARM_DESC(allow_restart, "Set scsi_device's allow_restart flag(def=0)"); #define SDEBUG_INFO_LEN 256 static char sdebug_info[SDEBUG_INFO_LEN]; -- 2.32.0