Hi, This patchset cleans up a number of issues and pain points I've had with getting the nvme blktests to pass and run cleanly. The first three patches are meant to fix the Generation Counter issue that's been discussed before but hasn't been fixed in months. I primarily use a slightly fixed up patch posted by Michael Moese[1] but add another patch to properly test the Generation Counter that would no longer be tested otherwise. I've also taken it a step further to filter out more of the discovery information so that we are less fragile against churn and less dependant on the version of nvme-cli in use. This should also fix the issue discussed in [2]. Patches 4 through 7 fix a number of smaller issues I've found with individual tests. Patches 8 through 10 implement a system to ensure the nvme tests clean themselves up properly especially when ctrl-c is used to interrupt a test (working with the tests before this was a huge pain seeing, when you ctrl-c, you have to either manually clean up the nvmet configuration or reboot to get the system in a state where it's sane to run the tests again). Patches 11 and 12 make some minor changes that allow running the tests with the nvme modules built into the kernel. With these patches, plus a couple I've sent to the nvme list for the kernel, I can consistently pass the entire nvme suite with the exception of the lockdep false-positive with nvme/012 that still seems to be in a bit of contention[3]. Thanks, Logan [1] https://github.com/osandov/blktests/pull/34 [2] https://lore.kernel.org/linux-block/20190505150611.15776-4-minwoo.im.dev@xxxxxxxxx/ [3] https://lore.kernel.org/lkml/20190214230058.196511-22-bvanassche@xxxxxxx/ -- Logan Gunthorpe (11): nvme: More agressively filter the discovery output nvme: Add new test to verify the generation counter nvme/003,004: Add missing calls to nvme disconnect nvme/005: Don't rely on modprobing to set the multipath paramater nvme/015: Ensure the namespace is flushed not the char device nvme/018: Ignore error message generated by nvme read check: Add the ability to call a cleanup function after a test ends nvme: Cleanup modprobe lines into helper functions nvme: Ensure all ports and subsystems are removed on cleanup common: Use sysfs instead of modinfo for _have_module_param() nvme: Ignore errors when removing modules Michael Moese (1): Add filter function for nvme discover check | 9 + common/rc | 18 +- tests/nvme/002 | 10 +- tests/nvme/002.out | 6003 +------------------------------------------- tests/nvme/003 | 6 +- tests/nvme/003.out | 1 + tests/nvme/004 | 6 +- tests/nvme/004.out | 1 + tests/nvme/005 | 16 +- tests/nvme/006 | 6 +- tests/nvme/007 | 6 +- tests/nvme/008 | 6 +- tests/nvme/009 | 5 +- tests/nvme/010 | 6 +- tests/nvme/011 | 6 +- tests/nvme/012 | 6 +- tests/nvme/013 | 6 +- tests/nvme/014 | 6 +- tests/nvme/015 | 5 +- tests/nvme/016 | 6 +- tests/nvme/016.out | 9 +- tests/nvme/017 | 8 +- tests/nvme/017.out | 9 +- tests/nvme/018 | 8 +- tests/nvme/019 | 6 +- tests/nvme/020 | 5 +- tests/nvme/021 | 6 +- tests/nvme/022 | 6 +- tests/nvme/023 | 6 +- tests/nvme/024 | 6 +- tests/nvme/025 | 6 +- tests/nvme/026 | 6 +- tests/nvme/027 | 6 +- tests/nvme/028 | 6 +- tests/nvme/029 | 6 +- tests/nvme/030 | 72 + tests/nvme/030.out | 2 + tests/nvme/rc | 64 + 38 files changed, 208 insertions(+), 6163 deletions(-) create mode 100755 tests/nvme/030 create mode 100644 tests/nvme/030.out -- 2.17.1