linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH blktests v3 00/13] Implement zoned block device support
@ 2019-01-18  9:44 Shin'ichiro Kawasaki
  2019-01-18  9:44 ` [PATCH blktests v3 01/13] config: Introduce RUN_ZONED_TESTS variable and CAN_BE_ZONED flag Shin'ichiro Kawasaki
                   ` (12 more replies)
  0 siblings, 13 replies; 24+ messages in thread
From: Shin'ichiro Kawasaki @ 2019-01-18  9:44 UTC (permalink / raw)
  To: linux-block, Omar Sandoval, Masato Suzuki, Shinichiro Kawasaki
  Cc: Omar Sandoval, Jens Axboe, Matias Bjorling, Hannes Reinecke,
	Mike Snitzer, Martin K . Petersen, Chaitanya Kulkarni

The current blktests infrastucture and test cases do not support zoned block
devices and no specific test cases exist to test these block devices special
features (zone report and reset, sequential write constraint). This patch series
implement this missing support.

The series addresses two aspects: the first 4 patches introduce changes to the
common scripts and configuration to allow existing test cases to run against a
 null_blk device with zone mode enabled (new RUN_ZONED_TESTS config variable)
as well as whitelisting tests that can support zoned block devices
(new CAN_BE_ZONED test flag). Helper functions are introduced to facilitate
checking a device zone model.

The second part, composed of the last 9 patches, introduce the new zbd test
group to cover zoned block device specific test cases. All these test cases are
implemented using the test_device() function so that target devices can be
specified in the TEST_DEVS config variable, to cover a variety of zoned block
devices: physical real drives, partitions and dm-linear setups on top of zoned
block devices, etc. Furthermore, using the infrastructure changes of the first
part, the TEST_DEVS definition can be left empty, resulting in the zbd test
cases to be run against an automatically created null_blk device with zoned
mode enabled.

5 test cases are added to the new zbd test group to check the kernel ioctl and
sysfs interface, zone report operation, zone reset and write command handling.
These tests are simple but only a start. We will in the future send more test
cases to cover at least the regressions and bugs found and fixed in the zoned
block device code since its introduction with kernel 4.10.

Another still to be added part is support for host-managed ZBC emulation in
scsi-debug to further improve test coverage without requiring a physical SMR
disk. This work is ongoing and will be added to blktests once the relevant
scsi-debug changes are accepted in the kernel.

Changes from v2:
* Replaced ZONED with RUN_FOR_ZONED and CAN_BE_ZONED variables
* Introduce fallback_device mechanism instead of relying on group rc script
* Dropped set_scheduler() move to common

Changes from v1:
* Fixed _test_dev_is_zoned
* Added _have_fio_zbd_zonemode
* Added patch 10 to move _dd to common/rc
* Addressed various nit commented on the list

Masato Suzuki (6):
  tests: Introduce zbd test group
  zbd/001: sysfs and ioctl consistency test
  zbd/002: report zone test
  zbd/003: Test sequential zones reset
  zbd/004: Check write split accross sequential zones
  zbd/005: Test write ordering

Shin'ichiro Kawasaki (7):
  config: Introduce RUN_ZONED_TESTS variable and CAN_BE_ZONED flag
  common: Introduce _have_fio_zbd_zonemode() helper function
  block/004: Adjust fio conditions for zoned block devices
  block: Whitelist tests supporting zoned block devices
  check: Introduce fallback_device() and cleanup_fallback_device()
  common: Introduce _dd() helper function
  src: Introduce zbdioctl program

 Documentation/running-tests.md |  13 +++
 check                          |  54 ++++++++-
 common/fio                     |   9 ++
 common/null_blk                |  23 +++-
 common/rc                      |  31 ++++++
 common/shellcheck              |   2 +-
 new                            |   4 +
 src/.gitignore                 |   1 +
 src/Makefile                   |   3 +-
 src/zbdioctl.c                 |  83 ++++++++++++++
 tests/block/004                |  18 ++-
 tests/block/005                |   1 +
 tests/block/006                |   1 +
 tests/block/010                |   1 +
 tests/block/011                |   1 +
 tests/block/016                |   1 +
 tests/block/017                |   1 +
 tests/block/020                |   1 +
 tests/block/021                |   1 +
 tests/block/023                |   1 +
 tests/zbd/001                  |  75 +++++++++++++
 tests/zbd/001.out              |   2 +
 tests/zbd/002                  | 108 ++++++++++++++++++
 tests/zbd/002.out              |   2 +
 tests/zbd/003                  |  78 +++++++++++++
 tests/zbd/003.out              |   2 +
 tests/zbd/004                  |  90 +++++++++++++++
 tests/zbd/004.out              |   2 +
 tests/zbd/005                  |  67 +++++++++++
 tests/zbd/005.out              |   2 +
 tests/zbd/rc                   | 195 +++++++++++++++++++++++++++++++++
 31 files changed, 866 insertions(+), 7 deletions(-)
 create mode 100644 src/zbdioctl.c
 create mode 100755 tests/zbd/001
 create mode 100644 tests/zbd/001.out
 create mode 100755 tests/zbd/002
 create mode 100644 tests/zbd/002.out
 create mode 100755 tests/zbd/003
 create mode 100644 tests/zbd/003.out
 create mode 100755 tests/zbd/004
 create mode 100644 tests/zbd/004.out
 create mode 100755 tests/zbd/005
 create mode 100644 tests/zbd/005.out
 create mode 100644 tests/zbd/rc

-- 
2.20.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2019-01-28 12:18 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-18  9:44 [PATCH blktests v3 00/13] Implement zoned block device support Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 01/13] config: Introduce RUN_ZONED_TESTS variable and CAN_BE_ZONED flag Shin'ichiro Kawasaki
2019-01-25 20:59   ` Omar Sandoval
2019-01-28 10:07     ` Shinichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 02/13] common: Introduce _have_fio_zbd_zonemode() helper function Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 03/13] block/004: Adjust fio conditions for zoned block devices Shin'ichiro Kawasaki
2019-01-25 21:09   ` Omar Sandoval
2019-01-28 10:13     ` Shinichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 04/13] block: Whitelist tests supporting " Shin'ichiro Kawasaki
2019-01-25 21:11   ` Omar Sandoval
2019-01-28 10:37     ` Shinichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 05/13] check: Introduce fallback_device() and cleanup_fallback_device() Shin'ichiro Kawasaki
2019-01-25 21:14   ` Omar Sandoval
2019-01-28 10:54     ` Shinichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 06/13] common: Introduce _dd() helper function Shin'ichiro Kawasaki
2019-01-25 21:17   ` Omar Sandoval
2019-01-28 12:18     ` Shinichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 07/13] src: Introduce zbdioctl program Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 08/13] tests: Introduce zbd test group Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 09/13] zbd/001: sysfs and ioctl consistency test Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 10/13] zbd/002: report zone test Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 11/13] zbd/003: Test sequential zones reset Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 12/13] zbd/004: Check write split accross sequential zones Shin'ichiro Kawasaki
2019-01-18  9:44 ` [PATCH blktests v3 13/13] zbd/005: Test write ordering Shin'ichiro Kawasaki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).