Make sure the label is read in rdopen(), this isn't the case if you
authormiod <miod@openbsd.org>
Sat, 12 Jul 2008 19:58:48 +0000 (19:58 +0000)
committermiod <miod@openbsd.org>
Sat, 12 Jul 2008 19:58:48 +0000 (19:58 +0000)
boot bsd.rd -a and want to mount the ramdisk later on.

ok otto@ krw@ millert@

sys/dev/ramdisk.c

index d8e6785..fd9a49c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ramdisk.c,v 1.42 2008/06/15 00:36:41 krw Exp $        */
+/*     $OpenBSD: ramdisk.c,v 1.43 2008/07/12 19:58:48 miod Exp $       */
 /*     $NetBSD: ramdisk.c,v 1.8 1996/04/12 08:30:09 leo Exp $  */
 
 /*
@@ -306,6 +306,11 @@ rdopen(dev, flag, fmt, proc)
        if (sc->sc_type == RD_UNCONFIGURED)
                return ENXIO;
 
+       /*
+        * Make sure we have read the disklabel.
+        */
+       rdgetdisklabel(dev, sc, sc->sc_dkdev.dk_label, 0);
+
        return 0;
 }