diff options
author | phk <phk@FreeBSD.org> | 1999-08-14 11:40:51 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-08-14 11:40:51 +0000 |
commit | 5f45261e990bb420f6394e615c3495668886dfe9 (patch) | |
tree | 66dfc8aa5c9515f4ec0197d4ad3f1c2445413016 /sys/kern/subr_diskmbr.c | |
parent | 5ff2615ae3524707b482556fcc6668d139f2cd67 (diff) | |
download | FreeBSD-src-5f45261e990bb420f6394e615c3495668886dfe9.zip FreeBSD-src-5f45261e990bb420f6394e615c3495668886dfe9.tar.gz |
Spring cleaning around strategy and disklabels/slices:
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.
Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.
Remove bogus and unused strategy1 routines.
Remove open/close arguments from dssize(). Pick them up from dev_t.
Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
Diffstat (limited to 'sys/kern/subr_diskmbr.c')
-rw-r--r-- | sys/kern/subr_diskmbr.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/sys/kern/subr_diskmbr.c b/sys/kern/subr_diskmbr.c index a7b6b24..d6be12a 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.34 1999/05/11 19:54:10 phk Exp $ + * $Id: diskslice_machdep.c,v 1.35 1999/06/26 02:47:09 mckusick Exp $ */ #include <sys/param.h> @@ -64,11 +64,10 @@ static struct dos_partition historical_bogus_partition_table[NDOSPART] = { static int check_part __P((char *sname, struct dos_partition *dp, u_long offset, int nsectors, int ntracks, u_long mbr_offset)); -static void extended __P((char *dname, dev_t dev, d_strategy_t *strat, - struct disklabel *lp, struct diskslices *ssp, - u_long ext_offset, u_long ext_size, - u_long base_ext_offset, int nsectors, int ntracks, - u_long mbr_offset)); +static void extended __P((char *dname, dev_t dev, struct disklabel *lp, + struct diskslices *ssp, u_long ext_offset, + u_long ext_size, u_long base_ext_offset, + int nsectors, int ntracks, u_long mbr_offset)); static int check_part(sname, dp, offset, nsectors, ntracks, mbr_offset ) @@ -151,10 +150,9 @@ check_part(sname, dp, offset, nsectors, ntracks, mbr_offset ) } int -dsinit(dname, dev, strat, lp, sspp) +dsinit(dname, dev, lp, sspp) char *dname; dev_t dev; - d_strategy_t *strat; struct disklabel *lp; struct diskslices **sspp; { @@ -182,7 +180,7 @@ reread_mbr: bp->b_blkno = mbr_offset; bp->b_bcount = lp->d_secsize; bp->b_flags |= B_READ; - (*strat)(bp); + BUF_STRATEGY(bp, 1); if (biowait(bp) != 0) { diskerr(bp, dname, "error reading primary partition table", LOG_PRINTF, 0, (struct disklabel *)NULL); @@ -328,7 +326,7 @@ reread_mbr: for (dospart = 0; dospart < NDOSPART; dospart++, sp++) if (sp->ds_type == DOSPTYP_EXTENDED || sp->ds_type == DOSPTYP_EXTENDEDX) - extended(dname, bp->b_dev, strat, lp, ssp, + extended(dname, bp->b_dev, lp, ssp, sp->ds_offset, sp->ds_size, sp->ds_offset, max_nsectors, max_ntracks, mbr_offset); @@ -341,12 +339,11 @@ done: } void -extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset, +extended(dname, dev, lp, ssp, ext_offset, ext_size, base_ext_offset, nsectors, ntracks, mbr_offset) char *dname; dev_t dev; struct disklabel *lp; - d_strategy_t *strat; struct diskslices *ssp; u_long ext_offset; u_long ext_size; @@ -372,7 +369,7 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset, bp->b_blkno = ext_offset; bp->b_bcount = lp->d_secsize; bp->b_flags |= B_READ; - (*strat)(bp); + BUF_STRATEGY(bp, 1); if (biowait(bp) != 0) { diskerr(bp, dname, "error reading extended partition table", LOG_PRINTF, 0, (struct disklabel *)NULL); @@ -434,10 +431,9 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset, /* If we found any more slices, recursively find all the subslices. */ for (dospart = 0; dospart < NDOSPART; dospart++) if (ext_sizes[dospart] != 0) - extended(dname, dev, strat, lp, ssp, - ext_offsets[dospart], ext_sizes[dospart], - base_ext_offset, nsectors, ntracks, - mbr_offset); + extended(dname, dev, lp, ssp, ext_offsets[dospart], + ext_sizes[dospart], base_ext_offset, + nsectors, ntracks, mbr_offset); done: bp->b_flags |= B_INVAL | B_AGE; |