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);
/*