diff options
Diffstat (limited to 'sys-utils/blkzone.c')
-rw-r--r-- | sys-utils/blkzone.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys-utils/blkzone.c b/sys-utils/blkzone.c index ddb13fc04..1c3a7ef7d 100644 --- a/sys-utils/blkzone.c +++ b/sys-utils/blkzone.c @@ -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; |