diff options
author | 2015-09-28 15:17:08 +0000 | |
---|---|---|
committer | 2015-09-28 15:17:08 +0000 | |
commit | e25a81629f224e18244bb85c08e97e339ce4fce4 (patch) | |
tree | b2fc62df1bbdf538517d6dfc599e5336ca95d3e6 | |
parent | sync (diff) | |
download | wireguard-openbsd-e25a81629f224e18244bb85c08e97e339ce4fce4.tar.xz wireguard-openbsd-e25a81629f224e18244bb85c08e97e339ce4fce4.zip |
Mechanical changes from manual buf set up to readdisksector().
ok deraadt@
-rw-r--r-- | sys/arch/alpha/alpha/disksubr.c | 20 | ||||
-rw-r--r-- | sys/arch/aviion/aviion/disksubr.c | 42 | ||||
-rw-r--r-- | sys/arch/luna88k/luna88k/disksubr.c | 12 | ||||
-rw-r--r-- | sys/arch/sgi/sgi/disksubr.c | 39 | ||||
-rw-r--r-- | sys/arch/vax/vax/disksubr.c | 20 |
5 files changed, 40 insertions, 93 deletions
diff --git a/sys/arch/alpha/alpha/disksubr.c b/sys/arch/alpha/alpha/disksubr.c index 5b393ad419c..af5923bc72e 100644 --- a/sys/arch/alpha/alpha/disksubr.c +++ b/sys/arch/alpha/alpha/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.98 2011/04/16 03:21:15 krw Exp $ */ +/* $OpenBSD: disksubr.c,v 1.99 2015/09/28 15:17:08 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -63,15 +63,9 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if (spoofonly) goto doslabel; - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if (biowait(bp)) { - error = bp->b_error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) goto done; - } error = checkdisklabel(bp->b_data + LABELOFFSET, lp, 0, DL_GETDSIZE(lp)); @@ -118,12 +112,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp = geteblk((int)lp->d_secsize); bp->b_dev = dev; - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) goto done; /* Write it in the regular place. */ diff --git a/sys/arch/aviion/aviion/disksubr.c b/sys/arch/aviion/aviion/disksubr.c index ec99fce60b8..dd9f69179bc 100644 --- a/sys/arch/aviion/aviion/disksubr.c +++ b/sys/arch/aviion/aviion/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.60 2014/12/24 22:48:27 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.61 2015/09/28 15:17:08 krw Exp $ */ /* * Copyright (c) 2013 Miodrag Vallat. @@ -190,13 +190,10 @@ readvdmlabel(struct buf *bp, void (*strat)(struct buf *), struct disklabel *lp, * may not be followed by a VDIT. */ - bp->b_blkno = VDM_LABEL_SECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) - return error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, + VDM_LABEL_SECTOR)); + if (error) + return (error); vdl = (struct vdm_label *)(bp->b_data + VDM_LABEL_OFFSET); if (vdl->signature != VDM_LABEL_SIGNATURE) @@ -237,13 +234,9 @@ readvdmlabel(struct buf *bp, void (*strat)(struct buf *), struct disklabel *lp, if (spoofonly != 0) return 0; - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) - return error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) + return (error); return checkdisklabel(bp->b_data + LABELOFFSET, lp, DL_GETBSTART(lp), DL_GETBEND(lp)); @@ -279,13 +272,9 @@ readvditlabel(struct buf *bp, void (*strat)(struct buf *), struct disklabel *lp, expected_kind = VDIT_BLOCK_HEAD_BE; blkno = VDIT_SECTOR; for (;;) { - bp->b_blkno = blkno; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) - return error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, blkno)); + if (error) + return (error); vbh = (struct vdit_block_header *)bp->b_data; if (VDM_ID_KIND(&vbh->id) != expected_kind || @@ -428,12 +417,9 @@ readvditlabel(struct buf *bp, void (*strat)(struct buf *), struct disklabel *lp, */ if (spoofonly == 0) { - bp->b_blkno = start + LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) + error = readdisksector(bp, strat, lp, + DL_BLKTOSEC(lp, start + LABELSECTOR)); + if (error) goto done; error = checkdisklabel(bp->b_data + LABELOFFSET, lp, diff --git a/sys/arch/luna88k/luna88k/disksubr.c b/sys/arch/luna88k/luna88k/disksubr.c index 8a733e5a189..588efd1e537 100644 --- a/sys/arch/luna88k/luna88k/disksubr.c +++ b/sys/arch/luna88k/luna88k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.57 2015/01/16 20:17:05 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.58 2015/09/28 15:17:08 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.12 2002/02/19 17:09:44 wiz Exp $ */ /* @@ -119,15 +119,9 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if (spoofonly) goto done; - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if (biowait(bp)) { - error = bp->b_error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) goto done; - } slp = (struct sun_disklabel *)bp->b_data; if (slp->sl_magic == SUN_DKMAGIC) { diff --git a/sys/arch/sgi/sgi/disksubr.c b/sys/arch/sgi/sgi/disksubr.c index e242f194a80..665940fb1f5 100644 --- a/sys/arch/sgi/sgi/disksubr.c +++ b/sys/arch/sgi/sgi/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.30 2014/01/06 21:00:55 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.31 2015/09/28 15:17:08 krw Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -113,17 +113,12 @@ readsgilabel(struct buf *bp, void (*strat)(struct buf *), struct sgilabel *dlp; int i, *p, cs = 0; daddr_t fsoffs, fsend; - int offset; - - bp->b_blkno = 0; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); + int error, offset; /* if successful, locate disk label within block and validate */ - if (biowait(bp)) - return (bp->b_error); + error = readdisksector(bp, strat, lp, 0); + if (error) + return (error); fsoffs = DL_SECTOBLK(lp, DL_GETBSTART(lp)); fsend = DL_SECTOBLK(lp, DL_GETBEND(lp)); @@ -192,15 +187,11 @@ finished: if (spoofonly) return (0); - bp->b_blkno = DL_BLKTOSEC(lp, fsoffs + LABELSECTOR) * - DL_BLKSPERSEC(lp); + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, fsoffs + + LABELSECTOR)); + if (error) + return (error); offset = DL_BLKOFFSET(lp, fsoffs + LABELSECTOR) + LABELOFFSET; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if (biowait(bp)) - return (bp->b_error); /* * Do OpenBSD disklabel validation/adjustment. @@ -234,15 +225,11 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) goto done; /* Read it in, slap the new label in, and write it back out */ - bp->b_blkno = DL_BLKTOSEC(lp, partoff + DOS_LABELSECTOR) * - DL_BLKSPERSEC(lp); - offset = DL_BLKOFFSET(lp, partoff + DOS_LABELSECTOR); - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, partoff + + DOS_LABELSECTOR)); + if (error) goto done; + offset = DL_BLKOFFSET(lp, partoff + DOS_LABELSECTOR); dlp = (struct disklabel *)(bp->b_data + offset); *dlp = *lp; diff --git a/sys/arch/vax/vax/disksubr.c b/sys/arch/vax/vax/disksubr.c index b879278e4b5..0d2a4c352b6 100644 --- a/sys/arch/vax/vax/disksubr.c +++ b/sys/arch/vax/vax/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.66 2011/07/06 18:32:59 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.67 2015/09/28 15:17:08 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1999/06/30 18:48:06 ragge Exp $ */ /* @@ -73,15 +73,9 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if (spoofonly) goto done; - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if (biowait(bp)) { - error = bp->b_error; + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) goto done; - } error = checkdisklabel(bp->b_data + LABELOFFSET, lp, 16, DL_GETDSIZE(lp)); @@ -123,12 +117,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_dev = dev; /* Read it in, slap the new label in, and write it back out */ - bp->b_blkno = LABELSECTOR; - bp->b_bcount = lp->d_secsize; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_READ | B_RAW); - (*strat)(bp); - if ((error = biowait(bp)) != 0) + error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, LABELSECTOR)); + if (error) goto done; dlp = (struct disklabel *)(bp->b_data + LABELOFFSET); |