From c0fdfdba2941a94f7f8581689489fa55f6e9898a Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sat, 29 Mar 2003 22:06:52 +0000 Subject: [PATCH] Use default geometry in case the device doesn't provide one: 512 for sectorsize. 63 for sectors. 255 for heads. This will mostly show up on MD(4) devices. --- sbin/fdisk/fdisk.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sbin/fdisk/fdisk.c b/sbin/fdisk/fdisk.c index db753fd7a95b..cea23170eb5b 100644 --- a/sbin/fdisk/fdisk.c +++ b/sbin/fdisk/fdisk.c @@ -780,15 +780,20 @@ get_params() error = ioctl(fd, DIOCGFWSECTORS, &u); if (error == 0) sectors = dos_sectors = u; + else + sectors = dos_sectors = 63; + error = ioctl(fd, DIOCGFWHEADS, &u); if (error == 0) heads = dos_heads = u; + else + heads = dos_heads = 255; dos_cylsecs = cylsecs = heads * sectors; disksecs = cyls * heads * sectors; error = ioctl(fd, DIOCGSECTORSIZE, &u); - if (error != 0) + if (error != 0 || u == 0) u = 512; error = ioctl(fd, DIOCGMEDIASIZE, &o);