Received: by 2002:a05:7412:3210:b0:e2:908c:2ebd with SMTP id eu16csp1012907rdb; Fri, 1 Sep 2023 10:06:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFGxbQr50BtkEip53qL11prcZE6EmlYC/UBkk62OyK/9+gC/ng3vx87Ros36BRamXMG1Etw X-Received: by 2002:a05:6a20:6a1a:b0:134:a4e2:4ac8 with SMTP id p26-20020a056a206a1a00b00134a4e24ac8mr4003553pzk.39.1693587965028; Fri, 01 Sep 2023 10:06:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693587965; cv=none; d=google.com; s=arc-20160816; b=A0Hek8eC9Nlhra+hnGAeN67wIYIvG9jCMA9LLbnMXG+KbcYvNY9zqt71WmZHuQfTuM hDM0TKajOAbQr0TKKtHrxd4PMNfU24PnSZrbndGLMI6rG16tXmv3/AC1+418KsND7JAk NilzpdSt6Lnxp/4n9qM8Z9V6OAsKGvdOhW8sZdIdhL5QUbZfT/24fFmTTrmhis/ElODc IRnilTWf0wAbiaUjDZc9/jiYcbBnB6lxEMREqeZOfflzCMcyJfFGzRaS/2in7hYWIqSI 6PKT3wvUYkQgfwHFplt3+YnTgPpNQ1yLcUe0R0p1EO9H194pmu8X7qHlNhqN370ior2q YYwg== 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=ucikLWZW1wmz8IVPkPdu4+lcCou4vQUHVetz4BgMTIM=; fh=U8QwZ5xHaU2/8ln497S/E2sKzHGkM9mdrpYdmq3DJOs=; b=nuZddKQm3zVyOWDCv05TL6p6cB6x82kE0fAMbJnuxuq7oxVzS5PdhVZ+s8TY5I5S2m s1hLq8r8jw+gAdYvUOLAUsgU807jL7thzJ43joee9+fEo5iLXd/F2mZ2wTYYRBkSbZSn 4Py9K55z4k+1aJUYzyxvI70FMyytiN1JNIEI6maLi5CK9sXP7eNIPLcq7sgYMTzSLQVC MAP/bJdtLgFqbMgnSokF2fp1Y84Wyd6PD+LmavFsYahNuQuRsxnbic/ZySU4/EJYiwSo 2++4b86bwB2UWsBEoztARnr5RIn4P2lfWKtaibysMRYeKU7JUvFzpU/tzgQu5upcWb08 6OPA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b75-20020a63344e000000b005680cb68667si3257719pga.363.2023.09.01.10.05.51; Fri, 01 Sep 2023 10:06:05 -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; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349063AbjIAJnQ (ORCPT + 99 others); Fri, 1 Sep 2023 05:43:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348950AbjIAJmv (ORCPT ); Fri, 1 Sep 2023 05:42:51 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D3611708; Fri, 1 Sep 2023 02:42:23 -0700 (PDT) Received: from kwepemm600012.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4RcY184S2czrSMV; Fri, 1 Sep 2023 17:40:28 +0800 (CST) Received: from build.huawei.com (10.175.101.6) by kwepemm600012.china.huawei.com (7.193.23.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Fri, 1 Sep 2023 17:42:09 +0800 From: Wenchao Hao To: "James E . J . Bottomley" , "Martin K . Petersen" , CC: Hannes Reinecke , , , , Wenchao Hao Subject: [RFC PATCH v2 18/19] scsi: virtio_scsi: Add param to control LUN based error handle Date: Fri, 1 Sep 2023 17:41:26 +0800 Message-ID: <20230901094127.2010873-19-haowenchao2@huawei.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20230901094127.2010873-1-haowenchao2@huawei.com> References: <20230901094127.2010873-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: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemm600012.china.huawei.com (7.193.23.74) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS 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 Add new param lun_eh to control if enable LUN based error handler, since virtio_scsi did not define other further reset callbacks, it is not necessary to fallback to further recover any more, so set the LUN error handler with fallback set to 0. Signed-off-by: Wenchao Hao --- drivers/scsi/virtio_scsi.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index bd5633667d01..7bf4a34cdd20 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -37,6 +38,10 @@ #define VIRTIO_SCSI_EVENT_LEN 8 #define VIRTIO_SCSI_VQ_BASE 2 +static bool lun_eh; +module_param(lun_eh, bool, 0444); +MODULE_PARM_DESC(lun_eh, "LUN based error handle (def=0)"); + /* Command queue element */ struct virtio_scsi_cmd { struct scsi_cmnd *sc; @@ -679,9 +684,18 @@ static int virtscsi_device_alloc(struct scsi_device *sdevice) */ sdevice->sdev_bflags = BLIST_TRY_VPD_PAGES; + if (lun_eh) + return scsi_device_setup_eh(sdevice, 0); + return 0; } +static void virtscsi_device_destroy(struct scsi_device *sdevice) +{ + if (lun_eh) + return scsi_device_clear_eh(sdevice); +} + /** * virtscsi_change_queue_depth() - Change a virtscsi target's queue depth @@ -757,7 +771,7 @@ static const struct scsi_host_template virtscsi_host_template = { .eh_device_reset_handler = virtscsi_device_reset, .eh_timed_out = virtscsi_eh_timed_out, .slave_alloc = virtscsi_device_alloc, - + .slave_destroy = virtscsi_device_destroy, .dma_boundary = UINT_MAX, .map_queues = virtscsi_map_queues, .track_queue_depth = 1, -- 2.35.3