Print this page
OS-5330 zoneadm mounting an lx or joyent branded zone fails
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
(NOTE: Manual port, because of divergence from SmartOS.)
OS-2564 zone boot failed: could not start zoneadmd
OS-3524 in order to support interaction with docker containers, need to be able to connect to stdio for init from GZ
OS-3525 in order to support 'docker logs' need to be able to get stdio from zone to log file
OS-3075 zone long boot args aren't passed through
OS-11 rcapd behaves poorly when under extreme load

*** 20,29 **** --- 20,30 ---- */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Joyent, Inc. */ #ifndef _ZONEADMD_H #define _ZONEADMD_H
*** 67,76 **** --- 68,78 ---- #define DEFAULT_DIR_MODE \ (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) #define DEFAULT_DIR_USER -1 /* user ID for chown: -1 means don't change */ #define DEFAULT_DIR_GROUP -1 /* grp ID for chown: -1 means don't change */ + #define ALT_MOUNT(mount_cmd) ((mount_cmd) != Z_MNT_BOOT) typedef struct zlog { FILE *logfile; /* file to log to */ /*
*** 88,102 **** extern mutex_t lock; extern mutex_t msglock; extern boolean_t in_death_throes; extern boolean_t bringup_failure_recovery; extern char *zone_name; extern char pool_name[MAXNAMELEN]; extern char brand_name[MAXNAMELEN]; extern char default_brand[MAXNAMELEN]; extern char boot_args[BOOTARGS_MAX]; - extern char bad_boot_arg[BOOTARGS_MAX]; extern boolean_t zone_isnative; extern boolean_t zone_iscluster; extern dladm_handle_t dld_handle; extern void zerror(zlog_t *, boolean_t, const char *, ...); --- 90,105 ---- extern mutex_t lock; extern mutex_t msglock; extern boolean_t in_death_throes; extern boolean_t bringup_failure_recovery; extern char *zone_name; + extern char zonepath[MAXNAMELEN]; + extern zone_dochandle_t snap_hndl; extern char pool_name[MAXNAMELEN]; extern char brand_name[MAXNAMELEN]; extern char default_brand[MAXNAMELEN]; extern char boot_args[BOOTARGS_MAX]; extern boolean_t zone_isnative; extern boolean_t zone_iscluster; extern dladm_handle_t dld_handle; extern void zerror(zlog_t *, boolean_t, const char *, ...);
*** 110,121 **** Z_EVT_ZONE_BOOTING, Z_EVT_ZONE_REBOOTING, Z_EVT_ZONE_HALTED, Z_EVT_ZONE_READIED, Z_EVT_ZONE_UNINSTALLING, ! Z_EVT_ZONE_BOOTFAILED, ! Z_EVT_ZONE_BADARGS } zone_evt_t; extern int eventstream_init(); extern void eventstream_write(zone_evt_t evt); --- 113,123 ---- Z_EVT_ZONE_BOOTING, Z_EVT_ZONE_REBOOTING, Z_EVT_ZONE_HALTED, Z_EVT_ZONE_READIED, Z_EVT_ZONE_UNINSTALLING, ! Z_EVT_ZONE_BOOTFAILED } zone_evt_t; extern int eventstream_init(); extern void eventstream_write(zone_evt_t evt);
*** 152,163 **** --- 154,178 ---- /* * Console subsystem routines. */ extern int init_console(zlog_t *); extern void serve_console(zlog_t *); + extern void zcons_statechanged(); /* + * Memory capping thread creation. + */ + extern void create_mcap_thread(zlog_t *, zoneid_t); + extern void destroy_mcap_thread(); + + /* + * Zone FD log thread creation. + */ + extern void create_log_thread(zlog_t *, zoneid_t); + extern void destroy_log_thread(); + + /* * Contract handling. */ extern int init_template(void); /*