summaryrefslogtreecommitdiff
path: root/sys/kern/subr_disklabel.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>1994-10-08 06:57:29 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>1994-10-08 06:57:29 +0000
commit0f954e5d09fcdf4d7753dbc0c7315f2d7cc93607 (patch)
treeb052bb50ffa6a013d919c68a25235f4df098267c /sys/kern/subr_disklabel.c
parent80fb3d79f6be945c4fbdfae84f12172de827407f (diff)
Notes
Diffstat (limited to 'sys/kern/subr_disklabel.c')
-rw-r--r--sys/kern/subr_disklabel.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/kern/subr_disklabel.c b/sys/kern/subr_disklabel.c
index 0c787f7e866c..2d3721011f7f 100644
--- a/sys/kern/subr_disklabel.c
+++ b/sys/kern/subr_disklabel.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94
- * $Id$
+ * $Id: ufs_disksubr.c,v 1.3 1994/08/02 07:54:53 davidg Exp $
*/
#include <sys/param.h>
@@ -46,6 +46,7 @@
#include <sys/syslog.h>
#include <sys/dkbad.h>
+int dkcksum __P((struct disklabel *));
/*
* Seek sort for disks. We depend on the driver which calls us using b_resid
* as the current cylinder number.
@@ -181,8 +182,6 @@ readdisklabel(dev, strat, lp, dp, bdp)
dospartoff = 0;
cyl = LABELSECTOR / lp->d_secpercyl;
if (dp) {
- struct dos_partition *ap;
-
/* read master boot record */
bp->b_dev = dev;
bp->b_blkno = DOSBBSECTOR;
@@ -217,8 +216,14 @@ readdisklabel(dev, strat, lp, dp, bdp)
dp->dp_start;
lp->d_ntracks = dp->dp_ehd + 1;
lp->d_nsectors = DPSECT(dp->dp_esect);
+#ifdef CC_WALL
+/* The next statement looks bogus... i runs int 0..3 ??? */
+ lp->d_subtype |= ((lp->d_subtype & 3)
+ + i) | DSTYPE_INDOSPART;
+#else /* CC_WALL */
lp->d_subtype |= (lp->d_subtype & 3)
+ i | DSTYPE_INDOSPART;
+#endif /* CC_WALL */
lp->d_secpercyl = lp->d_ntracks *
lp->d_nsectors;
}
@@ -258,7 +263,7 @@ readdisklabel(dev, strat, lp, dp, bdp)
if (bdp && (lp->d_flags & D_BADSECT)) {
struct dkbad *db;
- printf("d_secsize: %d\n", lp->d_secsize);
+ printf("d_secsize: %ld\n", lp->d_secsize);
i = 0;
do {
/* read a bad sector table */
@@ -367,7 +372,8 @@ writedisklabel(dev, strat, lp)
bp->b_bcount = lp->d_secsize;
bp->b_flags = B_READ;
(*strat)(bp);
- if (error = biowait(bp))
+ error = biowait(bp);
+ if (error)
goto done;
for (dlp = (struct disklabel *)bp->b_data;
dlp <= (struct disklabel *)