Re: [PATCH blktests v2 00/16] Implement zoned block device support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux