linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>
To: Omar Sandoval <osandov@osandov.com>,
	Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Omar Sandoval <osandov@fb.com>,
	Masato Suzuki <masato.suzuki@wdc.com>,
	Jens Axboe <axboe@kernel.dk>,
	Matias Bjorling <Matias.Bjorling@wdc.com>,
	Hannes Reinecke <hare@suse.de>, Mike Snitzer <snitzer@redhat.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>
Subject: Re: [PATCH blktests v2 00/16] Implement zoned block device support
Date: Thu, 17 Jan 2019 05:15:48 +0000	[thread overview]
Message-ID: <BYAPR04MB450277D982706B476DB56D3E86830@BYAPR04MB4502.namprd04.prod.outlook.com> (raw)
In-Reply-To: <20190117021613.GB25494@vader>






From: Omar Sandoval <osandov@osandov.com>
Sent: Wednesday, January 16, 2019 6:16 PM
To: Shinichiro Kawasaki
Cc: linux-block@vger.kernel.org; Omar Sandoval; Masato Suzuki; Jens Axboe; Matias Bjorling; Hannes Reinecke; Mike Snitzer; Martin K . Petersen; Chaitanya Kulkarni
Subject: Re: [PATCH blktests v2 00/16] Implement zoned block device support
  
 
On Thu, Jan 10, 2019 at 06:37:09PM +0900, Shin'ichiro Kawasaki wrote:
> 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 7 patches introduce changes to the
> common scripts and configuration are introduced to allow existing test cases to
> run against a null_blk device with zone mode enabled (new ZONED config variable)
> or for these test cases to be skipped if a test declare itself as not zoned
> compliant. 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 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 (10):
>   config: Introduce ZONED variable
>   common: Introduce _test_dev_is_zoned() helper function
>   common: Move set_scheduler() function definition
>   common: Introduce _have_fio_zbd_zonemode() helper function
>   block/004: Adjust fio conditions for zoned block device
>   block/013: Skip for zoned block devices
>   block/018,024: Skip when ZONED is set
>   check: Introduce group_exit() function
>   src: Introduce zbdioctl program
>   common: Introduce _dd() helper function

Hi,

Thanks so much for the contribution. It'll be great to have some tests
for zoned block devices.

One thing I'm not a huge fan of is that setting the ZONED mode hijacks
the existing tests to be ZBD tests. When I'm doing a full test run, I'd
like to run those tests in both modes without running the rest of the
test suite twice.

Instead, what if we added a per-test setting like CAN_BE_ZONED and a
global config RUN_ZONED_TESTS? If those are both set, we run it once in
normal mode and once in zoned mode. This also avoids having to blacklist
tests which don't support zoned mode (although we'll have to remember to
whitelist tests that would work on a zoned device).

The functionality for falling back to null_blk if no devices are
specified is nifty. It'd be nice to have that as generic functionality
instead of specific to the zbd group. Something like a per-test
fallback_device() function which sets up the fallback test device. It'd
probably also need a cleanup_fallback_device().


[CK] Sounds good to me, we can make this as a prep patch-series and use the
functionality for this series.


I wonder will that be applicable to all the test cases?
Do we need more generic functionality into the null_blk so that we can use null_blk
by default? 


Shinichiro what do you think about this?

Let me know your thoughts.

Thanks!
    

  reply	other threads:[~2019-01-17  5:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-10  9:37 [PATCH blktests v2 00/16] Implement zoned block device support Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 01/16] config: Introduce ZONED variable Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 02/16] common: Introduce _test_dev_is_zoned() helper function Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 03/16] common: Move set_scheduler() function definition Shin'ichiro Kawasaki
2019-01-17  2:18   ` Omar Sandoval
2019-01-17  6:18     ` Shinichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 04/16] common: Introduce _have_fio_zbd_zonemode() helper function Shin'ichiro Kawasaki
2019-01-17  2:22   ` Omar Sandoval
2019-01-17  6:21     ` Shinichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 05/16] block/004: Adjust fio conditions for zoned block device Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 06/16] block/013: Skip for zoned block devices Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 07/16] block/018,024: Skip when ZONED is set Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 08/16] check: Introduce group_exit() function Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 09/16] src: Introduce zbdioctl program Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 10/16] common: Introduce _dd() helper function Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 11/16] tests: Introduce zbd test group Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 12/16] zbd/001: sysfs and ioctl consistency test Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 13/16] zbd/002: report zone test Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 14/16] zbd/003: Test sequential zones reset Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 15/16] zbd/004: Check write split accross sequential zones Shin'ichiro Kawasaki
2019-01-10  9:37 ` [PATCH blktests v2 16/16] zbd/005: Test write ordering Shin'ichiro Kawasaki
2019-01-17  2:16 ` [PATCH blktests v2 00/16] Implement zoned block device support Omar Sandoval
2019-01-17  5:15   ` Chaitanya Kulkarni [this message]
2019-01-17  6:06   ` Shinichiro Kawasaki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BYAPR04MB450277D982706B476DB56D3E86830@BYAPR04MB4502.namprd04.prod.outlook.com \
    --to=chaitanya.kulkarni@wdc.com \
    --cc=Matias.Bjorling@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=hare@suse.de \
    --cc=linux-block@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=masato.suzuki@wdc.com \
    --cc=osandov@fb.com \
    --cc=osandov@osandov.com \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=snitzer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).