From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 318B5F327A8 for ; Tue, 21 Apr 2026 06:05:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Transfer-Encoding:Content-Type:References:Message-ID:Subject:Cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iEVpZr1kW9I0AAImEdGefUY14muL5t3sZ9xA9HRLaeA=; b=L828PapyQRfcFsQmoaPBdRR0Vf Qdy6ANDC6csSml9/7dC9dwEsjDyXpGEL6e60YJKoF8Otr5bLVteIpaZ7g7VVOdzu3wyk40NdlWI2l aK6x+mE9oRf6IeKEemHncUXGCXFliEGcUHMSHRO4ov2Dz8CQkmw3ZhqE30kMJZtzi+j6bVNC5vy+g b7A8PvzNkO/IewZD5r2RvIYkJB+kk2+rDqg20f/KG8hpIIdEkv62WZFDMfN70ksWbPYVqwIVxHYos 1fG5sen6pd1TfjUV66y3PhwlQTRYpbMbSrSD8IhBA6+h1hj13QLXfsDRZzyoGCCpb92rfP76J6LQe w79nnQBQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wF4Es-000000084dD-0oSI; Tue, 21 Apr 2026 06:05:38 +0000 Received: from esa1.hgst.iphmx.com ([68.232.141.245]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wF4Ep-000000084cF-02bV for linux-nvme@lists.infradead.org; Tue, 21 Apr 2026 06:05:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1776751533; x=1808287533; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=kWPjzstAI4bPw/9R34UKip5Jt2rLjJD2+4fF4CIp/TE=; b=pwt6OU6Nxi2Mphnj/C9pdLRJ5qcRHVO5l8p/Um9zYjZqw48OwrLAdQew WSXw4Zr9QlwjgarQ8YilWQNSeCBuhjeZGz5zpQeK7YmLqAKEk9MtqfWBl 2c92MF8CjUF4dam/IHaP7UGX3huzRnek2ekF6/YTYgpsz72axN+UhOiv7 WwIujO3k2lCKEPnfA5brHPcrq2i+v8/4vI3ydMYlJ6UmAmRUbLwJ+fl2u 96dTWtXQipBFJDd89KNHPAwxR20Ziq+r0y5183jnY71abyW1SIQ0XxlFm gz7UYFwrI8tu+5w8n9IIFwimSXc9NmQn4n+xYsJsI4+5O/I4aY+YIXeH4 A==; X-CSE-ConnectionGUID: tt7lwlYpQnSZT3gB89y6Hg== X-CSE-MsgGUID: sndHZEedSPKmGzpvx87soA== X-IronPort-AV: E=Sophos;i="6.23,191,1770566400"; d="scan'208,223";a="144907763" Received: from mail-eastus2azon11010016.outbound.protection.outlook.com (HELO BN1PR04CU002.outbound.protection.outlook.com) ([52.101.56.16]) by ob1.hgst.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Apr 2026 14:05:30 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wND4iok6PuSA9bdO3Z6N6X8RubHs0pIjdxyJ1YdTKmYSEBicscI0adeBW6QMajNaSqIGFHLmx39zgo1aGjkoWdS/5lYUkPeP44DKR3GT4EdynT/vi1M/NXjlJ6s6qgfSfPQ3JT/CoHcBBkAtLdCPckvcBUcthiHlmmgbYzvNeMBKWwOOyMRfZNxPK+3TqUsX8dBJQojKZkczuwWTP80VM9sYWZdQAX5Mx7gjXIXGEgk6E1Da3Wo19DWYd5eYsZtx33XKolLIbNdhAcvl5F9Uie5Ar2XjxSrQHTr5HpijEwn1BFEZvBcVGHE+cUlChYEE/tBJjCFIhEG6jm/62T2kiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jTfeZxNELQrvs3c6R2dsW9ntHap60Oq7+50mdxRo/Hg=; b=No+9l4lMuXrzzypBmhxugDYvKI3w/3EBr9Yk1txCvam0WQuACglShuZi9M8KjRMxNjUYXwPT5CVX0EKUWhfOdQ8yzpvqhY3/nBY+4opPGDZcaEfhFPf2cDUNXfxzprkCHxUIUcWBYuTW0nHkrx45JNr85E8lVFY+CJIU1cJumabHJli9TsJBH0aKwWW79KcC3P8eSVWouThPqh6jbjHnrbmrdbw3UNPz39h1X/jV7OYSiss2WkpM0sILC+0hP03BOjSbmbwKEQdr04jof3de742fVHQyNoZjS08Wx/mj/9GPIdhgAro/F4lhQleIJB1P0ViMWepgCXgJFin4pwGgKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass header.d=wdc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jTfeZxNELQrvs3c6R2dsW9ntHap60Oq7+50mdxRo/Hg=; b=IFU+O4bfsr5RX1wI3VSBADoNTjhugyaFN/cbRwS+egik0ZeK2GeKGLS/lfzavQ12RintHwNsGO4JNCMVUgPnR5aKnA4AZJarjVs2js0d79msfjcC8l2wR6XPJqjz8Ocyrd1NJmcHpiq82+GMyNBLUNBJFhGDFj82Dnah9WPRb3w= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=wdc.com; Received: from SN7PR04MB8532.namprd04.prod.outlook.com (2603:10b6:806:350::6) by CH2PR04MB6981.namprd04.prod.outlook.com (2603:10b6:610:a0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.16; Tue, 21 Apr 2026 06:05:27 +0000 Received: from SN7PR04MB8532.namprd04.prod.outlook.com ([fe80::ce42:7775:2df8:8729]) by SN7PR04MB8532.namprd04.prod.outlook.com ([fe80::ce42:7775:2df8:8729%6]) with mapi id 15.20.9818.033; Tue, 21 Apr 2026 06:05:27 +0000 Date: Tue, 21 Apr 2026 15:05:18 +0900 From: Shin'ichiro Kawasaki To: Johannes Thumshirn Cc: Haris Iqbal , Daniel Wagner , Chaitanya Kulkarni , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-nvme@lists.infradead.org" , "lsf-pc@lists.linux-foundation.org" , Bart Van Assche , Hannes Reinecke , hch , Jens Axboe , "sagi@grimberg.me" , "tytso@mit.edu" , Christian Brauner , "Martin K. Petersen" , "linux-fsdevel@vger.kernel.org" , Javier =?utf-8?B?R29uesOhbGV6?= , "willy@infradead.org" , Jan Kara , "amir73il@gmail.com" , "vbabka@suse.cz" , Damien Le Moal Subject: Re: [LSF/MM/BPF ATTEND][LSF/MM/BPF TOPIC] : blktests: status, expansion plan for the storage stack test framework Message-ID: References: <31a2a4c2-8c33-429a-a2b1-e1f3a0e90d72@nvidia.com> <459953fa-5330-4eb1-a1b4-7683b04e3d45@flourine.local> Content-Type: multipart/mixed; boundary="h373hom54itlhfgm" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: TYCP286CA0205.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:385::9) To SN7PR04MB8532.namprd04.prod.outlook.com (2603:10b6:806:350::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR04MB8532:EE_|CH2PR04MB6981:EE_ X-MS-Office365-Filtering-Correlation-Id: 452fc71e-7312-4540-5498-08de9f6bfbdc WDCIPOUTBOUND: EOP-TRUE X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|19092799006|366016|6049299003|4053099003|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: OmH5cS0eJ5Tt2Du4Isyvxv2ynXDVbCV+wNEgbWHdRD18rbDx/An9Zs3ESqPYcV2mLOPy+Z+e+FIZTgUxhTuWMI07jaG5B577OKCbJR7QxfZyOSr6OP7/JuYRGfRJRujFYZlxxsk1FaVJaz8SGVkqXFGSMhciJybY6DBhFgzm3aAK0AdeG4uh5QJuHuO9/172z3z5bZ8k5SSeEZsJyXwaRBLet+6XoM03rKcXniKMFuu5RHFT2xFYbt134RqVsrkJavi+JDwq+jePXdMe4luKunTth3CweV+aRexYXKfOXan4dfnc+q09cLpVOqOvKEsf+7uAAiSCDYWezeX8oNUFqaWJnpRn5QeL+FphsS701EW2QqHTWwr/jSdW25Sbnn0YvWU6OQAgPWCfEhIIRySxjFcZv44EDiICxuFNCEU9l/g6dK6safJIcva5RCSvPIQMmFRI4WycWGTTHwALf1n4GCLZ3vR3Clnbcoge8X2EKlPi+ad5tWR0DoDOBskk7dV8nL+hwCVhVxfyBihBleLKTwj3XGQff1GfrwIbd+6YkoCjrAmuyDTZcry90K3JfbzYTm+2H4hCjP55fOKrBewRQuI1+Vy1ds48F5+2r/qTopNPt0dGxn+1aZS97EKZPzt8dfDXZ+hpbtz71Kq53IplOxdmTVCgX1meMXoezGTrQY27jgu+DECH1c6ZfNrPB/1kFBXWPk/9VN4sThdkGX/8zFeLN4f0jT2lwHt1LFjPXLA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR04MB8532.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(19092799006)(366016)(6049299003)(4053099003)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?kIERulUMOc/ErWdusRcBLh2EKNwU6k+6/6/hxBjnMaeYnWl2iG+KcXGIbD?= =?iso-8859-1?Q?H58D+VVa/NsuCdzjMeS3WN6a81ak2SdJrxhTGc4wHe6JvKXu7cp7dw4BTX?= =?iso-8859-1?Q?/9HNFZ5RQYw+6PNt87+K85wSM14P6RXLyJHVfMAzaJrbw2TPk2Z/e6ncpZ?= =?iso-8859-1?Q?jN3mLFOfihMJTg/Sa4W9O0BuJRVP76dzFkmAm9I5Ze9J9Oencq25CApxRK?= =?iso-8859-1?Q?WmIEWjs64TC7RP6pwzKTcqhOQBAQwvCQbo1bhqcmFmpyHdxKu8qA2/YQm0?= =?iso-8859-1?Q?BYg/OeOTpxrifaFto3ksTwtkin0ZXklZTijGtLT/Zj4WkYcqVKBtDr7cSo?= =?iso-8859-1?Q?jGwAaPlg3p9MEbVuT1Z3CIRuq3z6mKJZVtVa5e77Z6XXo1PMPe2XLcl5NM?= =?iso-8859-1?Q?wWE4OLJR5/xqHrOGokq8UzjVYic+m/s4aT4l5uonlfzOugzZBDYI19ISjY?= =?iso-8859-1?Q?YeT3tpmKJYDh1fEZmx9mjKV4ojpQD6N030dsAxVAtUZp+CUL7U3VLgerTp?= =?iso-8859-1?Q?+56ZkZdKvSHTKRHuWkpF3uatSe0AWfhUIPz9gXzI9hAROd9tIuBCikAoI8?= =?iso-8859-1?Q?gYQbgZFM6j6+kdjzRxO0jc+lhfLoMdcqY1APYRBNIW7fc0l/s/2d+8rMjB?= =?iso-8859-1?Q?MesSOsmcLXDw5oI+TRk1efG3g3l1owJQsGWKF/4VeRjS+dS4ikigPmsCJm?= =?iso-8859-1?Q?7OayeqCWXKfETyQROBSEfHPhRtvGFsCmdN7jhNWY6AKmkV0I+/tbtrsIOf?= =?iso-8859-1?Q?PAdyqI4OPtQxa7iUd7a9FLfev9PqLzAYSi55KtsxV0GTXUIPpnFvAzMFIv?= =?iso-8859-1?Q?k5y2cJyT5V+UF26hv0yGZkMQv0SGUJxFEGj5t7e1JRNA0CAaRRI0/ZAE8a?= =?iso-8859-1?Q?rvXMBuv95R5PhUQmkTJJ6EkPNC/ZyaXwTiq+IukSJu0ckMDILnFlmrmjF0?= =?iso-8859-1?Q?VeOoBBtdKvzE0G7ElX21DDS66EzmTUUA8eTNAiDJ7s0N90Ac+NfBCx4D7J?= =?iso-8859-1?Q?3mWYyK9YoUAJGBy8KBKN2Gd+h/WjmRlMavtHA/ORnmttc1UWtENfd4i4FX?= =?iso-8859-1?Q?M/SRO3n5iaSz7Kak//b1d+XKc34Qi/3eyG+pkt/YG5ZyTWfMgwxMDZfUwZ?= =?iso-8859-1?Q?rH7PPn6ni1IZoMRcsBdJBVXsjYeJI1jijoD4sfE3gjsC1yIm2tMbITehoU?= =?iso-8859-1?Q?GpcyB4LsVLQatS02EH8KTMnHhdpDyDRjx1kMHj5VJxHkSK8u8OoZmdL5Xm?= =?iso-8859-1?Q?dXM1Hzd3qCc4oNd3yvFr1qNVie28kjoU9rpswPgNCXXh1Y/rQ+vGSHJg3D?= =?iso-8859-1?Q?LTPOp6z509PtMbC7rodULovlvNhFOdAzn8uSPWfb4rRWQo65vZcsfhpReX?= =?iso-8859-1?Q?hRA0cgaMoI/PqhGojnTXYO/YHCywvgwnWGHYM1oh9a2iuksL1NttIfjn6m?= =?iso-8859-1?Q?kPMEnZM1SW/ajEAdY29XRNSl1NTCj1R4iKm8RMlrgA01gCcylNFP4T5spT?= =?iso-8859-1?Q?Q6ea3MtkAQdBbhyGrYrDtoeQAJ6SepT+gFbfePLxJrvUSk0dnOHpOo9lGZ?= =?iso-8859-1?Q?hnNjKn7p9GiTnj4xNOxyXSrhKTuZ5EYAORjCRQmTP+CDpXjed1UCF/I6vG?= =?iso-8859-1?Q?qeU3zapHd+T45uKG4dGr+0mAxj4Bb+38pSTI3gMJc2IfR/x93zYu1TB9EB?= =?iso-8859-1?Q?wzZg502c1S3snEC6LMS2IiXvMUG6GdAmPXtWreiqs6oKuerXbL8iZgzwXb?= =?iso-8859-1?Q?BiW+6y2rBvllk5ePwwMGCt/42aX2cocncBe5sCAdalcQrQqQrpAqVdkUe8?= =?iso-8859-1?Q?dqQpTKbLrUy77IG8Arw1phnSr5/v1wo=3D?= X-Exchange-RoutingPolicyChecked: jtWyeCePC46AxDqxDAbdmV70m/fITf6+HeAbt+FZbPIhmDfg088ILGWME7Ap/oIYRHKJkj0NcxJUoXJnbKY1UbIbDMzxv1i0ZcE7vJkmUWuECMbFEriVjH+vLIwLiKpXTmMaGFlEraLnRVaGlBP2In0poRp7fANKpXNwYSwKVnwjo17FioHCu852f62QnzdhjUHPCHOLRTnMEqVAK/BprNTaCXHTl5F6Q3eHNpJwr0mZ0W+mPpijSlsyrGp8yxiEJHVrXdpHtXrSYd7H63I7M4jbfW6tz+21FygJ4HBINd+TNGZFhQ2+YW39VRrzE67jJjtIfXSxqIsC5ggjCqCmaQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Wq0AJEDi3KmxG17cazp0BKboKx6fU/G168tCZH1+syMgwF+V6cwRp0F4GU5sKvtjDHbNLhM8WxPBZm3stzC1WkDx6ptWLKQjbaNqaHuovZOgCjrQcZQiV3pVobct6QjZNmSIlbYuhctYwGvZBpljZLYZD+/gq4Z0396w2g2x07bq7wuUnG47IhHBtXDyhbqmpWG3uGwLsWd8YOGz5McwIqtpvc0Jr1LeqQqxus02UqcQz0iSQwhO57KtpktcwiTpPdf6Ze0quFAQ0jiRqMqzkMhlEby4UIGn6onhw3UMY8BnviEMTVmShvqx7JxfueZmaarQmkCLC7lSJwv06Zx25Nm6xkml4tVXTz8CVdV3MbYWOShf7zUC+uq6bEhFIvNbPtMK3J1EmTJA76Q2T6thqHZFsu9MeqlEyN+DP8I2EQrUQ+44uZECiTz+bq1xIvyUc9Vi/5QrnZarOAMP3TL5BfzbQJ8JEMwgV7zaXHjp+QD1cdHetwVyEX7baMqHoXqLn/7RK8DPdmdcMzuqomdvaOAvREuM2qs5koiXMvpX39HlUU6A0Bg3BqXWZ/kE7KVmNDEH9C9sHJA0crBBnmq2ab+UpFxFRfDGMq146ovv+ZCoG1a6VLdMuTaUH9O9FFj3 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 452fc71e-7312-4540-5498-08de9f6bfbdc X-MS-Exchange-CrossTenant-AuthSource: SN7PR04MB8532.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2026 06:05:27.4369 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: o9lah2fBDwCpEyoTfkEzcHabB5tE6DYD89r1dh4zmoqqfi/Ln+myUokxmaQ7uh8okiICPmKRofI7vlIAX/ACV0uK4dDRTDktgtRWnv/IsSo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR04MB6981 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260420_230535_090362_E4E880E8 X-CRM114-Status: GOOD ( 25.30 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org --h373hom54itlhfgm Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit On Feb 23, 2026 / 07:44, Johannes Thumshirn wrote: > On 2/15/26 10:18 PM, Haris Iqbal wrote: > >> From my view, blktests keep on finding kernel bugs. I think it demonstrates the > >> value of this community effort, and I'm happy about it. Said that, I find what > >> blktests can improve more, of course. Here I share the list of improvement > >> opportunities from my view point (I already mentioned the first three items). > > A possible feature for blktest could be integration with something > > like virtme-ng. > > Running on VM can be versatile and fast. The run can be made parallel > > too, by spawning multiple VMs simultaneously. > > This is actually rather trivial to solve I have some pre-made things for > fstests and that can be adopted for blktests as well: > > vng \ >     --user=root -v --name vng-tcmu-runner \ >     -a loglevel=3 \ >     --run $KDIR \ >     --cpus=8 --memory=8G \ >     --exec "~johannes/src/ci/run-fstests.sh" \ >     --qemu-opts="-device virtio-scsi,id=scsi0 -drive > file=/dev/sda,format=raw,if=none,id=zbc0 -device > scsi-block,bus=scsi0.0,drive=zbc0" \ >     --qemu-opts="-device virtio-scsi,id=scsi1 -drive > file=/dev/sdb,format=raw,if=none,id=zbc1 -device > scsi-block,bus=scsi1.0,drive=zbc1" > > and run-fstests.sh is: > > #!/bin/sh > # SPDX-License-Identifier: GPL-2.0 > > DIR="/tmp/" > MKFS="mkfs.btrfs -f" > FSTESTS_DIR="/home/johannes/src/fstests" > HOSTCONF="$FSTESTS_DIR/configs/$(hostname -s)" > TESTDEV="$(grep TEST_DEV $HOSTCONF | cut -d '=' -f 2)" > > mkdir -p $DIR/{test,scratch,results} > $MKFS $TESTDEV > > cd $FSTESTS_DIR > ./check -x raid > > I'm not sure it'll make sense to include this into blktests other than > maybe providing an example in the README. I guess the example can be added in contrib/. This idea interested me, so I did some quick scripting and created the patch attached. I did some blktests runs with virtme-ng, and found that: - virtme-ng allows to skip kernel installation step. Fast and useful as Haris pointed out. - systemd does not look working well with virtme-ng, even when I specify the --systemd option. This will be a condition difference from normal blktests runs. I hope that the patch will help discussion at the conference. --h373hom54itlhfgm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-contrib-add-scripts-to-run-blktests-with-virtme-ng.patch" >From 4a310c98f674e65218fb7e33e3b176a85d897333 Mon Sep 17 00:00:00 2001 From: Shin'ichiro Kawasaki Date: Tue, 21 Apr 2026 14:26:01 +0900 Subject: [PATCH blktests RFC] contrib: add scripts to run blktests with virtme-ng It takes rather long time to run blktests repeatedly for debug target kernels because of the time to install the test target kernel to the test target system. To reduce the turn around time, virtme-ng [1] is useful. Add helper scripts to run blktests using virtme-ng per suggestion by Johaness [2]. After building a kernel in ~/linux, the command lines below will run blktests on the built kernel. With this, kernel installation step is no longer required. $ KDIR=~/linux contrib/run-vng loop/010 virtme: waiting for virtiofsd to start virtme: use 'microvm' QEMU architecture early console in setup code Probing EDD (edd=off to disable)... ok [ 0.000000][ T0] Linux version 7.0.0 (shin@shinmob) (gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7), GNU ld version 2.45.1-4.fc43) #22 SMP PREEMPT_DYNAMIC Mon Apr 13 15:44:07 JST 2026 [ 0.000000][ T0] Command line: virtme_hostname=vng-blktests-runner nr_open=2147483584 virtme_link_mods=/home/shin/linux/.virtme_mods/lib/modules/0.0.0 virtme_initmount0=tmp virtme_rw_overlay0=/etc virtme_rw_overlay1=/lib virtme_rw_overlay2=/home virtme_rw_overlay3=/opt virtme_rw_overlay4=/srv virtme_rw_overlay5=/usr virtme_rw_overlay6=/var virtme_rw_overlay7=/tmp virtme_console=ttyS0 console=ttyS0 earlyprintk=serial,ttyS0,115200 panic=-1 virtme.exec=`L2hvbWUvc2hpbi9CbGt0ZXN0cy9ibGt0ZXN0cy9jb250cmliL3J1bi1ibGt0ZXN0cy1xdWljayBsb29wLzAwMQ==` virtme.ssh virtme_ssh_channel=vsock virtme_ssh_cache=/home/shin/.cache/virtme-ng/.ssh virtme_chdir=home/shin/Blktests/blktests/contrib debug loglevel=3 init=/usr/lib/python3.14/site-packages/virtme/guest/bin/virtme-ng-init [ 0.000000][ T0] x86/split lock detection: #DB: warning on user-space bus_locks [ 0.000000][ T0] BIOS-provided physical RAM map: [ 0.000000][ T0] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] System RAM [ 0.000000][ T0] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] device reserved [ 0.000000][ T0] BIOS-e820: [gap 0x00000000000a0000-0x00000000000effff] [ 0.000000][ T0] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] device reserved [ 0.000000][ T0] BIOS-e820: [mem 0x0000000000100000-0x00000000bfffefff] System RAM [ 0.000000][ T0] BIOS-e820: [mem 0x00000000bffff000-0x00000000bfffffff] device reserved [ 0.000000][ T0] BIOS-e820: [gap 0x00000000c0000000-0x00000000feffbfff] [ 0.000000][ T0] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] device reserved [ 0.000000][ T0] BIOS-e820: [gap 0x00000000ff000000-0x00000000fffbffff] [ 0.000000][ T0] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] device reserved [ 0.000000][ T0] BIOS-e820: [mem 0x0000000100000000-0x000000013fffffff] System RAM [ 0.000000][ T0] printk: legacy bootconsole [earlyser0] enabled Poking KASLR using RDRAND RDTSC... Clean up /tmp/results ... loop/001 (scan loop device partitions) loop/001 (scan loop device partitions) [passed] runtime ... 14.610s Run logs: [ 90.927921][ T1] reboot: Power down When I ran the script on my Fedora 43 testnode for some test groups, I observed hangs at nvme/010 and nvme/012. Also I observed a failure at loop/010. Some fixes will be required in blktests and kernel to run the new script in stable manner. Of note is that the script does not support test target block device pass-through yet. [1] https://github.com/arighi/virtme-ng [2] https://lore.kernel.org/linux-block/ae47ef06-3f66-4aab-b4ab-f3ae2b634f87@wdc.com/ Suggested-by: Johannes Thumshirn Signed-off-by: Shin'ichiro Kawasaki --- contrib/run-blktests-quick | 27 +++++++++++++++++++++++++++ contrib/run-vng | 18 ++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100755 contrib/run-blktests-quick create mode 100755 contrib/run-vng diff --git a/contrib/run-blktests-quick b/contrib/run-blktests-quick new file mode 100755 index 0000000..9324c38 --- /dev/null +++ b/contrib/run-blktests-quick @@ -0,0 +1,27 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-3.0+ +# Copyright (C) 2026 Western Digital Corporation or its affiliates. + +declare DIR LOGDIR BLKTESTS_DIR + +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +BLKTESTS_DIR="${DIR}/../" + +LOGDIR="/tmp/results" + +if [[ -e $LOGDIR ]]; then + echo "Clean up ${LOGDIR} ..." + rm -rf $LOGDIR +fi +mkdir -p "$LOGDIR" + +cd "$BLKTESTS_DIR" || exit + +cat > config << EOF +QUICK_RUN=1 +TIMEOUT=10 +EOF + +./check -o "$LOGDIR" "$@" +echo "Run logs: ${LOGIDR}" + diff --git a/contrib/run-vng b/contrib/run-vng new file mode 100755 index 0000000..9aa4b91 --- /dev/null +++ b/contrib/run-vng @@ -0,0 +1,18 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-3.0+ +# Copyright (C) 2026 Western Digital Corporation or its affiliates. + +declare DIR +declare -a BLKTESTS_OPTS +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" + +if (($#)); then + BLKTESTS_OPTS=("$@") +else + BLKTESTS_OPTS=(block nvme loop scsi) +fi + +vng \ + --user=root --verbose --name vng-blktests-runner --cpus=4 --memory=4G \ + --append loglevel=3 --run "$KDIR" --ssh \ + --rwdir=/tmp --exec "$DIR/run-blktests-quick ${BLKTESTS_OPTS[*]}" -- 2.53.0 --h373hom54itlhfgm--