Re: [PATCH v2 0/9] Zoned block device enhancements and zone report rework

Damien Le Moal
2019-11-13T02:40:44Z

On 2019/11/13 11:16, Jens Axboe wrote:
> On 11/10/19 6:39 PM, Damien Le Moal wrote:
>> This series of patches introduces changes to zoned block device handling
>> code with the intent to simplify the code while optimizing run-time
>> operation, particularly in the area of zone reporting.
>>
>> The first patch lifts the device zone check code out of the sd driver
>> and reimplements these zone checks generically as part of
>> blk_revalidate_disk_zones(). This avoids zoned block device drivers to
>> have to implement these checks. The second patch simplifies this
>> function code for the !zoned case.
>>
>> The third patch is a small cleanup of zone report processing in
>> preparation for the fourth patch which removes support for partitions
>> on zoned block devices. As mentioned in that patch commit message, none
>> of the known partitioning tools support zoned devices and there are no
>> known use case in the field of SMR disks being used with partitions.
>> Dropping partition supports allows to significantly simplify the code
>> for zone report as zone sector values remapping becomes unnecessary.
>>
>> Patch 5 to 6 are small cleanups and fixes of the null_blk driver zoned
>> mode.
>>
>> The prep patch 7 optimizes zone report buffer allocation for the SCSI
>> sd driver. Finally, patch 8 introduces a new interface for report zones
>> handling using a callback function executed per zone reported by the
>> device. This allows avoiding the need to allocate large arrays of
>> blk_zone structures for the execution of zone reports. This can
>> significantly reduce memory usage and pressure on the memory management
>> system while significantly simplify the code all over.
>>
>> Overall, this series not only reduces significantly the code size, it
>> also improves run-time memory usage for zone report execution.
>>
>> This series applies cleanly on the for-next block tree on top of the
>> zone management operation series. It may however create a conflict with
>> Christoph's reqork of disk size revalidation. Please consider this
>> series for inclusion in the 5.5 kernel.
>
> We're taking branching to new levels... I created for-5.5/zoned for this,
> which is for-5.5/block + for-5.5/drivers + for-5.5/drivers-post combined.
> The latter is a branch with the SCSI dependencies from Martin pulled in.
>

Jens,

Thanks !

--
Damien Le Moal
Western Digital Research