From patchwork Fri Apr 28 01:33:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenchao Hao X-Patchwork-Id: 677661 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 508DEC77B7F for ; Thu, 27 Apr 2023 12:12:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243846AbjD0MMr (ORCPT ); Thu, 27 Apr 2023 08:12:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243796AbjD0MMo (ORCPT ); Thu, 27 Apr 2023 08:12:44 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EA547524F; Thu, 27 Apr 2023 05:12:17 -0700 (PDT) Received: from kwepemm600012.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Q6ZJ85BYhzpT79; Thu, 27 Apr 2023 20:08:08 +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.23; Thu, 27 Apr 2023 20:12:02 +0800 From: Wenchao Hao To: "James E . J . Bottomley" , "Martin K . Petersen" , Douglas Gilbert , , CC: , , Wenchao Hao Subject: [PATCH v2 0/6] scsi:scsi_debug: Add error injection for single device Date: Fri, 28 Apr 2023 09:33:14 +0800 Message-ID: <20230428013320.347050-1-haowenchao2@huawei.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Originating-IP: [10.175.101.6] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600012.china.huawei.com (7.193.23.74) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org The original error injection mechanism was based on scsi_host which could not inject fault for a single SCSI device. This patchset provides the ability to inject errors for a single SCSI device. Now we supports inject timeout errors, queuecommand errors, and hostbyte, driverbyte, statusbyte, and sense data for specific SCSI Command. The first two patch add an debugfs interface to add and inquiry single device's error injection info; the third patch defined how to remove an injection which has been added. The following 3 patches use the injection info and generate the related error type. V2: - Using debugfs rather than sysfs attribute interface to manage error Wenchao Hao (6): scsi:scsi_debug: create scsi_debug directory in the debugfs filesystem scsi:scsi_debug: Add interface to manage single device's error inject scsi:scsi_debug: Define grammar to remove added error injection scsi:scsi_debug: timeout command if the error is injected scsi:scsi_debug: Return failed value if the error is injected scsi:scsi_debug: set command's result and sense data if the error is injected drivers/scsi/scsi_debug.c | 318 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 318 insertions(+)