summaryrefslogtreecommitdiffstats
path: root/sys-utils/blkzone.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys-utils/blkzone.c')
-rw-r--r--sys-utils/blkzone.c8
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;