Print this page

        

*** 124,134 **** } (void) dlmgmt_set_doorfd(B_FALSE); dlmgmt_door_fd = -1; } ! static int dlmgmt_door_attach(zoneid_t zoneid, char *rootdir) { int fd; int err = 0; char doorpath[MAXPATHLEN]; --- 124,134 ---- } (void) dlmgmt_set_doorfd(B_FALSE); dlmgmt_door_fd = -1; } ! int dlmgmt_door_attach(zoneid_t zoneid, char *rootdir) { int fd; int err = 0; char doorpath[MAXPATHLEN];
*** 230,240 **** * Initialize each running zone. */ static int dlmgmt_allzones_init(void) { ! int i; zoneid_t *zids = NULL; uint_t nzids, nzids_saved; if (zone_list(NULL, &nzids) != 0) return (errno); --- 230,240 ---- * Initialize each running zone. */ static int dlmgmt_allzones_init(void) { ! int err, i; zoneid_t *zids = NULL; uint_t nzids, nzids_saved; if (zone_list(NULL, &nzids) != 0) return (errno);
*** 251,291 **** free(zids); goto again; } for (i = 0; i < nzids; i++) { ! int res; ! zone_status_t status; ! ! /* ! * Skip over zones that have gone away or are going down ! * since we got the list. Process all zones in the list, ! * logging errors for any that failed. ! */ ! if (zone_getattr(zids[i], ZONE_ATTR_STATUS, &status, ! sizeof (status)) < 0) ! continue; ! switch (status) { ! case ZONE_IS_SHUTTING_DOWN: ! case ZONE_IS_EMPTY: ! case ZONE_IS_DOWN: ! case ZONE_IS_DYING: ! case ZONE_IS_DEAD: ! /* FALLTHRU */ ! continue; ! default: break; } - if ((res = dlmgmt_zone_init(zids[i])) != 0) { - (void) fprintf(stderr, "zone (%ld) init error %s", - zids[i], strerror(res)); - dlmgmt_log(LOG_ERR, "zone (%d) init error %s", - zids[i], strerror(res)); - } - } free(zids); ! return (0); } static int dlmgmt_init(void) { --- 251,265 ---- free(zids); goto again; } for (i = 0; i < nzids; i++) { ! if ((err = dlmgmt_zone_init(zids[i])) != 0) break; } free(zids); ! return (err); } static int dlmgmt_init(void) {