blkzone: Reset all zones when length is not specified
If length is 0, operate on all zones starting from offset. This also fix the maximum length calculation from offset. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
This commit is contained in:
parent
22fae330d9
commit
72a7310233
|
@ -235,10 +235,12 @@ static int blkzone_reset(struct blkzone_control *ctl)
|
|||
if (ctl->offset > ctl->total_sectors)
|
||||
errx(EXIT_FAILURE, _("%s: offset is greater than device size"), ctl->devname);
|
||||
|
||||
zlen = ctl->length * zonesize;
|
||||
|
||||
if (!ctl->length)
|
||||
zlen = ctl->total_sectors;
|
||||
else
|
||||
zlen = ctl->length * zonesize;
|
||||
if (ctl->offset + zlen > ctl->total_sectors)
|
||||
zlen = ctl->total_sectors - ctl->length;
|
||||
zlen = ctl->total_sectors - ctl->offset;
|
||||
|
||||
za.sector = ctl->offset;
|
||||
za.nr_sectors = zlen;
|
||||
|
|
Loading…
Reference in New Issue