Print this page

        

@@ -324,11 +324,11 @@
  * init_console_dev() drives the device-tree configuration of the zone
  * console device.  The general strategy is to use the libdevice (devctl)
  * interfaces to instantiate a new zone console node.  We do a lot of
  * sanity checking, and are careful to reuse a console if one exists.
  *
- * Once the device is in the device tree, we kick devfsadm via di_devlink_init()
+ * Once the device is in the device tree, we kick devfsadm via di_init_devs()
  * to ensure that the appropriate symlinks (to the master and slave console
  * devices) are placed in /dev in the global zone.
  */
 static int
 init_console_dev(zlog_t *zlogp)

@@ -418,22 +418,15 @@
          * 1 sec. and retry a few times. Even if we can't setup the zone's
          * console, we still go ahead and boot the zone.
          */
         (void) snprintf(conspath, sizeof (conspath), "/dev/zcons/%s/%s",
             zone_name, ZCONS_MASTER_NAME);
-        for (i = 0; i < ZCONS_RETRY; i++) {
-                masterfd = open(conspath, O_RDWR | O_NOCTTY);
-                if (masterfd >= 0 || errno != ENOENT)
-                        break;
-                (void) sleep(1);
-        }
-        if (masterfd == -1) {
+        if ((masterfd = open(conspath, O_RDWR | O_NOCTTY)) == -1) {
                 zerror(zlogp, B_TRUE, "ERROR: could not open master side of "
                     "zone console for %s to acquire slave handle", zone_name);
                 master_zcons_failed = B_TRUE;
         }
-
         (void) snprintf(conspath, sizeof (conspath), "/dev/zcons/%s/%s",
             zone_name, ZCONS_SLAVE_NAME);
         for (i = 0; i < ZCONS_RETRY; i++) {
                 slavefd = open(conspath, O_RDWR | O_NOCTTY);
                 if (slavefd >= 0 || errno != ENOENT)