Lines Matching refs:bp
45 mbr_findslice(struct mbr_partition* dp, struct buf *bp);
54 mbr_findslice(struct mbr_partition *dp, struct buf *bp)
61 mbrmagicp = (uint16_t *)((char *)bp->b_data + MBR_MAGIC_OFFSET);
66 memcpy(dp, (char *)bp->b_data + MBR_PART_OFFSET, MBR_PART_COUNT * sizeof(*dp));
101 struct buf *bp;
130 bp = geteblk((int)lp->d_secsize);
131 bp->b_dev = dev;
141 bp->b_blkno = MBR_BBSECTOR;
142 bp->b_bcount = lp->d_secsize;
143 bp->b_cflags = BC_BUSY;
144 bp->b_flags |= B_READ;
145 bp->b_cylinder = MBR_BBSECTOR / lp->d_secpercyl;
146 (*strat)(bp);
149 if (biowait(bp)) {
155 ourdp = mbr_findslice(dp, bp);
189 bp->b_blkno = dospartoff + LABELSECTOR;
190 bp->b_cylinder = cyl;
191 bp->b_bcount = lp->d_secsize;
192 bp->b_cflags = BC_BUSY;
193 bp->b_flags = B_READ;
194 (*strat)(bp);
197 if (biowait(bp)) {
201 for (dlp = (struct disklabel *)bp->b_data;
203 ((char *)bp->b_data + lp->d_secsize - sizeof(*dlp));
229 bp->b_cflags = BC_BUSY;
230 bp->b_flags = B_READ;
231 bp->b_blkno = lp->d_secperunit - lp->d_nsectors + i;
233 bp->b_blkno *= lp->d_secsize / DEV_BSIZE;
235 bp->b_blkno /= DEV_BSIZE / lp->d_secsize;
236 bp->b_bcount = lp->d_secsize;
237 bp->b_cylinder = lp->d_ncylinders - 1;
238 (*strat)(bp);
241 if (biowait(bp)) {
244 db = (struct dkbad *)(bp->b_data);
254 } while (bp->b_error && (i += 2) < 10 &&
259 brelse(bp, BC_INVAL);
270 struct buf *bp;
275 bp = geteblk((int)lp->d_secsize);
276 bp->b_dev = dev;
286 bp->b_blkno = MBR_BBSECTOR;
287 bp->b_bcount = lp->d_secsize;
288 bp->b_cflags = BC_BUSY;
289 bp->b_flags = B_READ;
290 bp->b_cylinder = MBR_BBSECTOR / lp->d_secpercyl;
291 (*strat)(bp);
293 if ((error = biowait(bp)) == 0) {
296 ourdp = mbr_findslice(dp, bp);
310 bp->b_blkno = dospartoff + LABELSECTOR;
311 bp->b_cylinder = cyl;
312 bp->b_bcount = lp->d_secsize;
313 bp->b_cflags = BC_BUSY;
314 bp->b_flags = B_READ;
315 (*strat)(bp);
318 if ((error = biowait(bp)) != 0)
320 for (dlp = (struct disklabel *)bp->b_data;
322 ((char *)bp->b_data + lp->d_secsize - sizeof(*dlp));
327 bp->b_cflags = BC_BUSY;
328 bp->b_flags = B_WRITE;
329 (*strat)(bp);
330 error = biowait(bp);
337 brelse(bp, BC_INVAL);