Date: Fri, 16 Aug 2002 06:00:15 -0700 (PDT) From: "Artem 'Zazoobr' Ignatjev" <timon@memphis.mephi.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/20633: fdisk doesn't handle LBA correctly Message-ID: <200208161300.g7GD0F30086054@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/20633; it has been noted by GNATS.
From: "Artem 'Zazoobr' Ignatjev" <timon@memphis.mephi.ru>
To: freebsd-gnats-submit@FreeBSD.org, sjr@home.com
Cc:
Subject: Re: bin/20633: fdisk doesn't handle LBA correctly
Date: Fri, 16 Aug 2002 16:56:01 +0400
Hi, if I understand what jhb said in audit trail, following patch
should solve the issue. Stephen, if it still bothers you, could you try
it?
--- sbin/i386/fdisk/fdisk.c Fri Aug 16 16:24:27 2002
+++ sbin/i386/fdisk/fdisk.c Fri Aug 16 16:33:28 2002
@@ -468,13 +468,21 @@
part_mb,
partp->dp_flag,
partp->dp_flag == ACTIVE ? " (active)" : "");
- printf("\tbeg: cyl %d/ head %d/ sector %d;\n\tend: cyl %d/ head %d/ sector %d\n"
- ,DPCYL(partp->dp_scyl, partp->dp_ssect)
- ,partp->dp_shd
- ,DPSECT(partp->dp_ssect)
- ,DPCYL(partp->dp_ecyl, partp->dp_esect)
- ,partp->dp_ehd
- ,DPSECT(partp->dp_esect));
+ /*
+ * if C/H/S of start or end are all set to 0xff, then C/H/S don't have
+ * enough bits to hold the address, and one should use LBA instead.
+ */
+ if ((partp->dp_scyl != 0xff || partp->dp_ssect != 0xff ||
+ partp->dp_shd != 0xff) && (partp->dp_ecyl != 0xff ||
+ partp->dp_esect != 0xff || partp->dp_ehd != 0xff))
+ printf("\tbeg: cyl %d/ head %d/ sector %d;\n"
+ "\tend: cyl %d/ head %d/ sector %d\n"
+ ,DPCYL(partp->dp_scyl, partp->dp_ssect)
+ ,partp->dp_shd
+ ,DPSECT(partp->dp_ssect)
+ ,DPCYL(partp->dp_ecyl, partp->dp_esect)
+ ,partp->dp_ehd
+ ,DPSECT(partp->dp_esect));
}
Sinceherely yours, Artem 'Zazoobr' Ignatjev.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208161300.g7GD0F30086054>
