aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_diskmbr.c
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1995-02-22 22:46:48 +0000
committerBruce Evans <bde@FreeBSD.org>1995-02-22 22:46:48 +0000
commit30ca037de10d961491e0a90e2716a32725adaaac (patch)
tree0f4f5b82a2fc52a42844d13c55d7a6dde1d47313 /sys/kern/subr_diskmbr.c
parent268c424b239e32e7f719da7cd6d67a7bc73f392c (diff)
downloadsrc-30ca037de10d961491e0a90e2716a32725adaaac.tar.gz
src-30ca037de10d961491e0a90e2716a32725adaaac.zip
Use dsname() to get consistent names.
Notes
Notes: svn path=/head/; revision=6640
Diffstat (limited to 'sys/kern/subr_diskmbr.c')
-rw-r--r--sys/kern/subr_diskmbr.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/sys/kern/subr_diskmbr.c b/sys/kern/subr_diskmbr.c
index 1a77f4d61310..91641f670272 100644
--- a/sys/kern/subr_diskmbr.c
+++ b/sys/kern/subr_diskmbr.c
@@ -35,7 +35,7 @@
*
* from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91
* from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $
- * $Id: diskslice_machdep.c,v 1.4 1995/02/16 15:19:19 bde Exp $
+ * $Id: diskslice_machdep.c,v 1.5 1995/02/21 08:37:09 bde Exp $
*/
#include <stddef.h>
@@ -62,8 +62,10 @@ dsinit(dname, dev, strat, lp, sspp)
int max_ncyls;
int max_nsectors;
int max_ntracks;
+ char partname[2];
u_long secpercyl;
int slice;
+ char *sname;
struct diskslice *sp;
struct diskslices *ssp;
@@ -111,7 +113,8 @@ dsinit(dname, dev, strat, lp, sspp)
max_nsectors = 0;
max_ntracks = 0;
dp0 = (struct dos_partition *)(cp + DOSPARTOFF);
- for (dp = dp0, slice = 1; slice <= NDOSPART; dp++, slice++) {
+ for (dp = dp0, slice = BASE_SLICE; slice < BASE_SLICE + NDOSPART;
+ dp++, slice++) {
int nsectors;
int ntracks;
@@ -135,7 +138,8 @@ dsinit(dname, dev, strat, lp, sspp)
*/
error = 0;
secpercyl = max_nsectors * max_ntracks;
- for (dp = dp0, slice = 1; slice <= NDOSPART; dp++, slice++) {
+ for (dp = dp0, slice = BASE_SLICE; slice < BASE_SLICE + NDOSPART;
+ dp++, slice++) {
u_long esector;
u_long esector1;
u_long ssector;
@@ -148,22 +152,19 @@ dsinit(dname, dev, strat, lp, sspp)
esector = DPSECT(dp->dp_esect) - 1 + dp->dp_ehd * max_nsectors
+ DPCYL(dp->dp_ecyl, dp->dp_esect) * secpercyl;
esector1 = dp->dp_start + dp->dp_size - 1;
+ sname = dsname(dname, dkunit(dev), slice, RAW_PART, partname);
if (ssector != dp->dp_start || esector != esector1)
error = EINVAL;
#if 1
else
- printf("%s%ds%d: start %lu, end = %lu, size %lu: OK\n",
- dname, dkunit(dev), slice, ssector, esector,
- dp->dp_size);
+ printf("%s: start %lu, end = %lu, size %lu: OK\n",
+ sname, ssector, esector, dp->dp_size);
if (ssector != dp->dp_start)
- printf(
- "%s%ds%d: C/H/S start %lu != start %lu: invalid\n",
- dname, dkunit(dev), slice, ssector,
- dp->dp_start);
+ printf("%s: C/H/S start %lu != start %lu: invalid\n",
+ sname, ssector, dp->dp_start);
if (esector != esector1)
- printf(
- "%s%ds%d: C/H/S end %lu != end %lu: invalid\n",
- dname, dkunit(dev), slice, esector, esector1);
+ printf("%s: C/H/S end %lu != end %lu: invalid\n",
+ sname, esector, esector1);
#endif
}
if (error != 0)
@@ -201,10 +202,11 @@ dsinit(dname, dev, strat, lp, sspp)
/* Initialize normal slices. */
sp += BASE_SLICE;
- for (dp = dp0, slice = 1; slice <= NDOSPART; dp++, slice++, sp++) {
+ for (dp = dp0, slice = BASE_SLICE; slice < BASE_SLICE + NDOSPART;
+ dp++, slice++, sp++) {
if (dp->dp_typ == DOSPTYP_386BSD
&& ssp->dss_first_bsd_slice == COMPATIBILITY_SLICE) {
- ssp->dss_first_bsd_slice = BASE_SLICE + slice - 1;
+ ssp->dss_first_bsd_slice = slice;
ssp->dss_slices[COMPATIBILITY_SLICE].ds_offset
= dp->dp_start;
ssp->dss_slices[COMPATIBILITY_SLICE].ds_size
@@ -213,7 +215,8 @@ dsinit(dname, dev, strat, lp, sspp)
sp->ds_offset = dp->dp_start;
sp->ds_size = dp->dp_size;
#if 0
- lp->d_subtype |= (lp->d_subtype & 3) + (slice - 1) | DSTYPE_INDOSPART;
+ lp->d_subtype |= (lp->d_subtype & 3)
+ | (slice - BASE_SLICE) | DSTYPE_INDOSPART;
#endif
}