summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormlelstv <mlelstv@NetBSD.org>2022-03-28 10:38:00 +0000
committermlelstv <mlelstv@NetBSD.org>2022-03-28 10:38:00 +0000
commit3d84144c6c954a86ab7b2e9bdbfefc96309abd3e (patch)
tree4f08c767adac7ebb92d69c9bc8c2b47eb0263d5c /sys/dev
parent77838db5baada9ce86b5bc40efe37a28bd82d0e4 (diff)
Media size is in bytes (off_t), not sectors.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/dm/device-mapper.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/dm/device-mapper.c b/sys/dev/dm/device-mapper.c
index bdd17f60f62..cc0e275639e 100644
--- a/sys/dev/dm/device-mapper.c
+++ b/sys/dev/dm/device-mapper.c
@@ -1,4 +1,4 @@
-/* $NetBSD: device-mapper.c,v 1.62 2021/05/07 09:54:43 hannken Exp $ */
+/* $NetBSD: device-mapper.c,v 1.63 2022/03/28 10:38:00 mlelstv Exp $ */
/*
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -562,14 +562,15 @@ disk_ioctl_switch(dev_t dev, unsigned long cmd, void *data)
{
off_t *valp = data;
uint64_t numsec;
+ unsigned secsize;
if ((dmv = dm_dev_lookup(NULL, NULL, minor(dev))) == NULL)
return ENODEV;
aprint_debug("DIOCGMEDIASIZE ioctl called\n");
- dm_table_disksize(&dmv->table_head, &numsec, NULL);
- *valp = numsec;
+ dm_table_disksize(&dmv->table_head, &numsec, &secsize);
+ *valp = (off_t) secsize * numsec;
dm_dev_unbusy(dmv);
break;