drvread
int drvread(struct dsk *dskp, void *buf, daddr_t lba, unsigned nblk);
static int drvread(void *, unsigned, unsigned);
if (drvread(sec, DOSBBSECTOR, 1))
if (drvread(sec, dsk.start + LABELSECTOR, 1))
return (drvread(buf, dsk.start + lba, nblk));
int drvread(struct dsk *dskp, void *buf, daddr_t lba, unsigned nblk);
err = drvread(&gdsk.dsk, buf, lba + gdsk.dsk.start, nblk);
if (drvread(&dskp->dsk, dmadat->blkbuf, lba, nb))
return (drvread(&dsk, buffer, blkno * 4, 4));
if (drvread(dskp, secbuf, hdrlba, 1)) {
if (drvread(dskp, secbuf, slba, 1)) {