summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2006-12-03 16:40:44 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2006-12-03 16:40:44 +0000
commita29b6f78d02770e3777700a3c4e872b2ae3db8af (patch)
tree76e158382520fd4a1b92f96503aa46df768f10ca /sys/arch
parent8c355f9b44a80f54d8e4d0ae2a69c5a5757f1aef (diff)
Initialize more fields of the proto disklabel before invoking readdisklabel(),
to pass its recent sanity checks.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sparc/dev/xd.c8
-rw-r--r--sys/arch/sparc/dev/xy.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/sys/arch/sparc/dev/xd.c b/sys/arch/sparc/dev/xd.c
index 3775891e696..690fd0af3e4 100644
--- a/sys/arch/sparc/dev/xd.c
+++ b/sys/arch/sparc/dev/xd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xd.c,v 1.32 2006/03/15 20:20:41 miod Exp $ */
+/* $OpenBSD: xd.c,v 1.33 2006/12/03 16:40:43 miod Exp $ */
/* $NetBSD: xd.c,v 1.37 1997/07/29 09:58:16 fair Exp $ */
/*
@@ -301,8 +301,9 @@ xdgetdisklabel(xd, b)
/* We already have the label data in `b'; setup for dummy strategy */
xd_labeldata = b;
- /* Required parameter for readdisklabel() */
+ /* Required parameters for readdisklabel() */
xd->sc_dk.dk_label->d_secsize = XDFM_BPS;
+ xd->sc_dk.dk_label->d_secpercyl = 1;
err = readdisklabel(MAKEDISKDEV(0, xd->sc_dev.dv_unit, RAW_PART),
xddummystrat,
@@ -329,7 +330,8 @@ xdgetdisklabel(xd, b)
xd->acyl = xd->sc_dk.dk_label->d_acylinders;
xd->nhead = xd->sc_dk.dk_label->d_ntracks;
xd->nsect = xd->sc_dk.dk_label->d_nsectors;
- xd->sectpercyl = xd->nhead * xd->nsect;
+ xd->sectpercyl = xd->sc_dk.dk_label->d_secpercyl =
+ xd->nhead * xd->nsect;
xd->sc_dk.dk_label->d_secsize = XDFM_BPS; /* not handled by
* sun->bsd */
return(XD_ERR_AOK);
diff --git a/sys/arch/sparc/dev/xy.c b/sys/arch/sparc/dev/xy.c
index 1bb7c02d399..9b4b3a7c53c 100644
--- a/sys/arch/sparc/dev/xy.c
+++ b/sys/arch/sparc/dev/xy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xy.c,v 1.28 2006/03/15 20:20:41 miod Exp $ */
+/* $OpenBSD: xy.c,v 1.29 2006/12/03 16:40:43 miod Exp $ */
/* $NetBSD: xy.c,v 1.26 1997/07/19 21:43:56 pk Exp $ */
/*
@@ -241,8 +241,9 @@ xygetdisklabel(xy, b)
/* We already have the label data in `b'; setup for dummy strategy */
xy_labeldata = b;
- /* Required parameter for readdisklabel() */
+ /* Required parameters for readdisklabel() */
xy->sc_dk.dk_label->d_secsize = XYFM_BPS;
+ xy->sc_dk.dk_label->d_secpercyl = 1;
err = readdisklabel(MAKEDISKDEV(0, xy->sc_dev.dv_unit, RAW_PART),
xydummystrat,
@@ -269,7 +270,8 @@ xygetdisklabel(xy, b)
xy->acyl = xy->sc_dk.dk_label->d_acylinders;
xy->nhead = xy->sc_dk.dk_label->d_ntracks;
xy->nsect = xy->sc_dk.dk_label->d_nsectors;
- xy->sectpercyl = xy->nhead * xy->nsect;
+ xy->sectpercyl = xy->sc_dk.dk_label->d_secpercyl =
+ xy->nhead * xy->nsect;
xy->sc_dk.dk_label->d_secsize = XYFM_BPS; /* not handled by
* sun->bsd */
return(XY_ERR_AOK);