Thread (10 messages) 10 messages, 6 authors, 2019-02-15

Re: [LSF/MM TOPIC] : blktests: status, an expansion plan for the storage stack test framework

From: Damien Le Moal <hidden>
Date: 2019-02-07 05:07:14
Also in: linux-nvme

On 2019/02/06 19:32, Johannes Thumshirn wrote:
On 06/02/2019 06:21, Chaitanya Kulkarni wrote:
quoted
Hi,

Since discussion of the storage stack and device driver at the LSFMM 2017
(https://lwn.net/Articles/717699/),  Omar Sandoval introduced a new framework
"blktests" dedicated for Linux Kernel Block layer testing.
(https://lwn.net/Articles/722785/, https://github.com/osandov/blktests).
 
As Linux Kernel Block layer is central to the various file systems and underlying
low-level device drivers it is important to have a centralized testing framework and
make sure it grows with the latest block layer changed which are being added based
on the different device features from different device types
(e.g. NVMe devices with Zoned Namespace support).

Since then blktests has grown and became go-to framework where we have integrated
different stand-alone test suites like SRP-tests, NVMFTESTS, NVMe Multipath tests,
zone block device tests, into one central framework, which has made an overall block layer
testing and development much easier than having to configure and execute different
test cases for each kernel release for different subsystems such as FS, NVMe,
Zone Block devices, etc). 

Here is the list of the existing test categories:-

├── block                                           28 Tests
├── loop                                             07 Tests
├── meta                                            12 Tests
├── nbd                                              02 Tests
├── nvme                                           28 Tests
├── nvmeof-mp                                  12 Tests
├── scsi                                              06 Tests
├── srp                                               13 Tests
└── zbd                                              05 Tests
---------------------------------------------------------------- 
           9 Categories                            ~110 Tests

This project has gathered much attention and storage stack community is actively
participating and adding new test cases with different categories to the framework. 

For storage track, we would like to propose a session dedicated to blktests. It is a great
opportunity for the storage developers to gather and have a discussion about:-

1. Current status of the blktests framework.
2. Any new/missing features that we want to add in the blktests.
3. Any new kernel features that could be used to make testing easier?
E.g. Implementing new features in the null_blk.c in order to have device
independent complete test coverage. (e.g. adding discard command for null_blk or any
other specific REQ_OP). Discussion about having any new tracepoint events in the block layer.
4. Any new test cases/categories which are lacking in the blktests framework.
One thing I'd love to see is more hardware/driver specific tests. I'm
sure Broadcom, Marvell, Huawei and all the others out there do have test
suites for their HBA drivers but not a single one of these tests is
publicly available.

We're also lacking tests for things like ioprio, persistent reservation,
bcache and so on.
+1 for ioprio discussion. I mentioned my interest in discussing this in my
invite request. Having it as a topic would be great. Since we are in the middle
of blktest improvements for zoned devices, I can try to put together a proposal
as a discussion base.
Adding support for collecting gcov information after running a test case
would also be awesome (this is missing in xfstests as well).

So I think a session on blktests can help us get the gap closed.

Byte,
	Johannes

-- 
Damien Le Moal
Western Digital Research
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help