if (msg || clp->magic1 != DISKMAGIC || clp->magic2 != DISKMAGIC) {
if (msg) {
readdisklabel(dev, strat, lp, clp)	dev_t dev;	void (*strat)();	struct disklabel *lp;	struct cpu_disklabel *clp;{	struct buf *bp;	char *msg = NULL;	/* obtain buffer to probe drive with */	bp = geteblk((int)lp->d_secsize);	/* request no partition relocation by driver on I/O operations */	bp->b_dev = dev;	bp->b_blkno = 0; /* contained in block 0 */	bp->b_bcount = lp->d_secsize;	bp->b_flags = B_BUSY | B_READ;	bp->b_cylin = 0; /* contained in block 0 */	(*strat)(bp);	if (biowait(bp)) {		msg = "cpu_disklabel read error\n";	}else {		bcopy(bp->b_data, clp, sizeof (struct cpu_disklabel));	}	bp->b_flags = B_INVAL | B_AGE | B_READ;	brelse(bp);	if (msg || clp->magic1 != DISKMAGIC || clp->magic2 != DISKMAGIC) {#if defined(CD9660)		if (iso_disklabelspoof(dev, strat, lp) == 0)			msg = NULL;#endif		return (msg); 	}	cputobsdlabel(lp, clp);#ifdef DEBUG	if(disksubr_debug > 0) {		printlp(lp, "readdisklabel:bsd label");		printclp(clp, "readdisklabel:cpu label");	}#endif	return (msg);}