linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
To: Omar Sandoval <osandov@osandov.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>,
	Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>
Subject: Re: [PATCH blktests v2 00/16] Implement zoned block device support
Date: Thu, 17 Jan 2019 06:06:33 +0000	[thread overview]
Message-ID: <CY1PR04MB2268C2C163B681432138A90CED830@CY1PR04MB2268.namprd04.prod.outlook.com> (raw)
In-Reply-To: 20190117021613.GB25494@vader

Hi Omar,

On 1/17/19 11:16 AM, Omar Sandoval wrote:
> 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.

Thank you very much for your review.

> 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).

Yes, that would work too. And the CAN_BE_ZONED per-test case setting can also 
control if the test should be executed against a specified zoned device or not. 
Will make these changes.

 >
> 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().

Good idea. Instead of the entire group fallback device, it becomes per test 
case. Will make the changes.

> 
> Let me know your thoughts.
> 
> Thanks!
> 

-- 
Best Regards,
Shin'ichiro Kawasaki

      parent reply	other threads:[~2019-01-17  6:06 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
2019-01-17  6:06   ` Shinichiro Kawasaki [this message]

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=CY1PR04MB2268C2C163B681432138A90CED830@CY1PR04MB2268.namprd04.prod.outlook.com \
    --to=shinichiro.kawasaki@wdc.com \
    --cc=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=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).