zbd/012: Test requeuing of zoned writes and queue freezing Test concurrent requeuing of zoned writes and request queue freezing. While this test passes with kernel 6.9, it triggers a hang with kernels 6.10..6.12. This shows that this hang is a regression introduced by the zone write plugging code. sysrq: Show Blocked State task:(udev-worker) state:D stack:0 pid:75392 tgid:75392 ppid:2178 flags:0x00000006 Call Trace: <TASK> __schedule+0x3e8/0x1410 schedule+0x27/0xf0 blk_mq_freeze_queue_wait+0x6f/0xa0 queue_attr_store+0x60/0xc0 kernfs_fop_write_iter+0x13e/0x1f0 vfs_write+0x25b/0x420 ksys_write+0x65/0xe0 do_syscall_64+0x82/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e Signed-off-by: Bart Van Assche <bvanassche@acm.org>
blktests is a test framework for the Linux kernel block layer and storage stack. It is inspired by the xfstests filesystem testing framework. It was originally written by Omar Sandoval and announced in 2017.
The dependencies are minimal, but make sure you have them installed:
Some tests require the following:
cargo install --version=^0.1 rublk) for ublk testBuild blktests with make. Optionally, install it to a known location with make install (/usr/local/blktests by default, but this can be changed by passing DESTDIR and/or prefix).
Add the list of block devices you want to test on in a file named config (note: these tests are potentially destructive):
TEST_DEVS=(/dev/nvme0n1 /dev/sdb)
And as root, run the default set of tests with ./check.
Do not add anything to the TEST_DEVS array containing data that you want to keep.
See here for more detailed information on configuration and running tests.
New test cases are welcomed when,
The ./new script creates a new test from a template. The generated template contains more detailed documentation. The ./new script itself can be referred to as a document. It describes variables and functions that test cases should implement, global variables that test cases can refer and coding guidelines.
Patches to linux-block@vger.kernel.org and pull requests on GitHub are both accepted. See here for more information on contributing.