commit | 6c1237cd358008024ece90bd915a67c23add8a2a | [log] [tgz] |
---|---|---|
author | Dongli Zhang <dongli.zhang@oracle.com> | Thu Mar 14 11:45:17 2019 |
committer | Omar Sandoval <osandov@fb.com> | Thu Mar 21 23:21:38 2019 |
tree | 2c0fa3a823cb0c3d4d91e28cdb9d1364006ab239 | |
parent | eb4bd6a30728e60732948165e86bd8a6355ba9cb [diff] |
loop/001: verify all partitions are removed loop/001 does not test whether all partitions are removed successfully during loop device partition scanning. As a result, the regression introduced by 0da03cab87e6 ("loop: Fix deadlock when calling blkdev_reread_part()") can not be detected. The regression will generate below message in dmesg: [ 464.414043] __loop_clr_fd: partition scan of loop0 failed (rc=-22) and leave orphan partitions like below: - /dev/loop0p1 - /sys/block/loop0/loop0p1 This patch verifies all partitions are removed by checking if there is /sys/block/loopX/loopXpY left. The expected number of partitions left is 0. Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com> [Omar: check devices and sysfs for both before and after] Signed-off-by: Omar Sandoval <osandov@fb.com>
blktests is a test framework for the Linux kernel block layer and storage stack. It is inspired by the xfstests filesystem testing framework.
The dependencies are minimal, but make sure you have them installed:
Some tests require the following:
Build 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
:
TEST_DEVS=(/dev/nvme0n1 /dev/sdb)
And as root, run the default set of tests with ./check
.
Note that these tests are destructive, so don't 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.
The ./new
script creates a new test from a template. The generated template contains more detailed documentation.
Pull requests on GitHub and patches to linux-block@vger.kernel.org are both accepted. See here for more information on contributing.