Linux block layer
 help / color / mirror / Atom feed
From: "Theodore Tso" <tytso@mit.edu>
To: "Shin'ichiro Kawasaki" <shinichiro.kawasaki@wdc.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: xfstests-bld kernel config and automated tsting (Was: blktests: status, expansion plan for the storage stack test framework)
Date: Mon, 11 May 2026 11:40:46 -0400	[thread overview]
Message-ID: <20260511154046.GA21199@macsyma-wired.lan> (raw)
In-Reply-To: <agHGnYHo4HEKhYJb@shinmob>

On Mon, May 11, 2026 at 09:27:38PM +0900, Shin'ichiro Kawasaki wrote:
> 
> - For easier config:
>   - Ted has the config generation tool.
>   -> I'm interested in it, and would like to take a look.

The config generation tool is part of my xfstests-bld test appliance:

     https://github.com/tytso/xfstests-bld

I have blktests support integrated into gce-xfstests.  After setting
gce-xfstests per:

https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md

Using it is basically as simple as:

cd /usr/src/linux
install-kconfig --blktests
kbuild
gce-xfstests --blktests

The install-kconfig and kbuild scripts can be found in the
kernel-build directory in the xfstests-bld repo:

https://github.com/tytso/xfstests-bld/tree/master/kernel-build

Note: In addition to --blktests, install-kconfig supports other options,
including --lockdep, --kasan, --ubsan, --arch arm64, --kcsan, etc.


Unfortunately, blktests is currently not supported in kvm-xfstests
(aka qemu-xfstests, since it also works on MacOS's HVF).  It should be
possible, but currently kvm-xfstests doesn't suport modules, and
blktests is pretty fundamentally tied to modules.  With gce-xfstests,
we upload a kernel.deb install it in the system under test.  With
kvm-xfstests, we directly boot the kernel directly out of the build
tree, which is much faster (5 seconds from "kvm-xfstests shell" to
shell prompt)--- but doesn't support modules.


Projects to improve blktests in my test appliance:

   1. Add support for modules in kvm-xfstests and then enable blktests for
      kvm-xfstests.
   2. Add support for some kind of machine readable test results file
      (e.g., junit XML or  kTAP)

The reason why (2) is so interesting is that it allows for a
convenient report generation which summarizes the test run, e.g:

ext4/4k: 615 tests, 1 failures, 74 skipped, 4701 seconds
  Flaky: generic/234: 20% (1/5)
ext4/1k: 609 tests, 78 skipped, 5586 seconds
ext4/ext3: 607 tests, 159 skipped, 5044 seconds
ext4/encrypt: 590 tests, 191 skipped, 2768 seconds
ext4/nojournal: 607 tests, 1 failures, 158 skipped, 4111 seconds
  Flaky: generic/234: 20% (1/5)
ext4/ext3conv: 612 tests, 2 failures, 76 skipped, 5212 seconds
  Flaky: generic/234: 20% (1/5)   generic/409: 20% (1/5)
     
(Note: ext4/4k, ext4/1k, etc. are different file system test
scenarios, which run on a different VM)

The other reason why (2) is handy is that it enables using automated
bisection searches, e.g.:

   gce-xfstests ltm --repo linux-stable-gc -c ext4/4k generic/234 \
       --bisect-good v7.0.5 --bisect-bad linux-7.0.y

So if we had a machine-readable results file, ala xfstests's "check -R
xunit-quiet", I could add automated bisection for blktests failures to
gce-xfstests.

Cheers,

					- Ted

P.S.  For more information about my test-appliance system, see:

https://thunk.org/gce-xfstests
https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-quickstart.md
https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md



      reply	other threads:[~2026-05-11 15:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-11 20:35 [LSF/MM/BPF ATTEND][LSF/MM/BPF TOPIC] : blktests: status, expansion plan for the storage stack test framework Chaitanya Kulkarni
2026-02-12  7:52 ` Daniel Wagner
2026-02-12  7:57   ` Johannes Thumshirn
2026-02-13 17:30     ` Bart Van Assche
2026-02-13 17:35       ` James Bottomley
2026-02-13 11:23   ` Shinichiro Kawasaki
2026-02-13 14:18     ` Haris Iqbal
2026-02-15 18:38     ` Nilay Shroff
2026-04-21  6:19       ` Shin'ichiro Kawasaki
2026-04-23  8:05         ` Nilay Shroff
2026-04-23  9:36           ` Daniel Wagner
2026-04-27 11:50           ` Shin'ichiro Kawasaki
2026-02-15 21:18     ` Haris Iqbal
2026-02-16  0:33       ` Chaitanya Kulkarni
2026-02-23  7:44       ` Johannes Thumshirn
2026-02-25 10:15         ` Haris Iqbal
2026-04-21  6:05         ` Shin'ichiro Kawasaki
2026-02-23 17:08       ` Bart Van Assche
2026-02-25  2:55         ` Chaitanya Kulkarni
2026-02-25 10:07         ` Haris Iqbal
2026-02-25 16:29           ` Bart Van Assche
2026-04-21  6:37     ` Shin'ichiro Kawasaki
2026-05-11 12:27 ` Shin'ichiro Kawasaki
2026-05-11 15:40   ` Theodore Tso [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260511154046.GA21199@macsyma-wired.lan \
    --to=tytso@mit.edu \
    --cc=linux-block@vger.kernel.org \
    --cc=shinichiro.kawasaki@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox