• Damien Le Moal's avatar
    dm zoned: ignore last smaller runt zone · 114e0259
    Damien Le Moal authored
    The SCSI layer allows ZBC drives to have a smaller last runt zone. For
    such a device, specifying the entire capacity for a dm-zoned target
    table entry fails because the specified capacity is not aligned on a
    device zone size indicated in the request queue structure of the
    device.
    
    Fix this problem by ignoring the last runt zone in the entry length
    when seting up the dm-zoned target (ctr method) and when iterating table
    entries of the target (iterate_devices method). This allows dm-zoned
    users to still easily setup a target using the entire device capacity
    (as mandated by dm-zoned) or the aligned capacity excluding the last
    runt zone.
    
    While at it, replace direct references to the device queue chunk_sectors
    limit with calls to the accessor blk_queue_zone_sectors().
    Reported-by: default avatarPeter Desnoyers <pjd@ccs.neu.edu>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    114e0259
dm-zoned-target.c 23.1 KB