commit | 775a05859b0084e1c1b030dcd64b35a10c50fd0e | [log] [tgz] |
---|---|---|
author | Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> | Tue Jun 25 11:20:11 2024 |
committer | Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> | Fri Jun 28 07:55:49 2024 |
tree | 6008a48d2dd9edf589d4e12aebb9810a75bc7936 | |
parent | a0b86e4c2412006d7a22be72699b73b8b5548260 [diff] |
loop/010: do not assume /dev/loop0 The current implementation of the test case loop/010 assumes that the prepared loop device is /dev/loop0, which is not always true. When other loop devices are set up before the test case run, the assumption is wrong and the test case fails. To avoid the failure, use the prepared loop device name stored in $loop_device instead of /dev/loop0. Adjust the grep string to meet the device name. Also use "losetup --detach" instead of "losetup --detach-all" to not detach the loop devices which existed before the test case runs. Fixes: 1c4ae4fed9b4 ("loop: Detect a race condition between loop detach and open") Reviewed-by: Gulam Mohamed <gulam.mohamed@oracle.com> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
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.