Print this page
        
@@ -18,10 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2015 Joyent, Inc. All rights reserved.
  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
  * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>.
  * Copyright 2016, Joyent, Inc.
  */
 
@@ -188,11 +189,10 @@
         size32_t  zfsbufsz;
         int match;                      /* match level */
         uint32_t doi;                   /* DOI for label */
         caddr32_t label;                /* label associated with zone */
         int flags;
-        zoneid_t zoneid;                /* requested zoneid */
 } zone_def32;
 #endif
 typedef struct {
         const char *zone_name;
         const char *zone_root;
@@ -205,11 +205,10 @@
         size_t zfsbufsz;
         int match;                      /* match level */
         uint32_t doi;                   /* DOI for label */
         const bslabel_t *label;         /* label associated with zone */
         int flags;
-        zoneid_t zoneid;                /* requested zoneid */
 } zone_def;
 
 /* extended error information */
 #define ZE_UNKNOWN      0       /* No extended error info */
 #define ZE_CHROOTED     1       /* tried to zone_create from chroot */
@@ -381,11 +380,11 @@
         char            *zd_dataset;
         list_node_t     zd_linkage;
 } zone_dataset_t;
 
 /*
- * structure for rctl zone kstats
+ * structure for zone kstats
  */
 typedef struct zone_kstat {
         kstat_named_t zk_zonename;
         kstat_named_t zk_usage;
         kstat_named_t zk_value;
@@ -457,11 +456,10 @@
         kstat_named_t   zm_avenrun15;
         kstat_named_t   zm_ffcap;
         kstat_named_t   zm_ffnoproc;
         kstat_named_t   zm_ffnomem;
         kstat_named_t   zm_ffmisc;
-        kstat_named_t   zm_mfseglim;
         kstat_named_t   zm_nested_intp;
         kstat_named_t   zm_init_pid;
         kstat_named_t   zm_boot_time;
 } zone_misc_kstat_t;
 
@@ -502,11 +500,10 @@
          * zone_linkage is the zone's linkage into the active or
          * death-row list.  The field is protected by zonehash_lock.
          */
         list_node_t     zone_linkage;
         zoneid_t        zone_id;        /* ID of zone */
-        zoneid_t        zone_did;       /* persistent debug ID of zone */
         uint_t          zone_ref;       /* count of zone_hold()s on zone */
         uint_t          zone_cred_ref;  /* count of zone_hold_cred()s on zone */
         /*
          * Fixed-sized array of subsystem-specific reference counts
          * The sum of all of the counts must be less than or equal to zone_ref.
@@ -627,10 +624,17 @@
         sys_zio_cntr_t  zone_rd_ops;            /* Counters for ZFS reads, */
         sys_zio_cntr_t  zone_wr_ops;            /* writes and */
         sys_zio_cntr_t  zone_lwr_ops;           /* logical writes. */
 
         /*
+         * kstats and counters for I/O ops and bytes.
+         */
+        kmutex_t        zone_io_lock;           /* protects I/O statistics */
+        kstat_t         *zone_io_ksp;
+        kstat_io_t      *zone_io_kiop;
+
+        /*
          * kstats and counters for VFS ops and bytes.
          */
         kmutex_t        zone_vfs_lock;          /* protects VFS statistics */
         kstat_t         *zone_vfs_ksp;
         kstat_io_t      zone_vfs_rwstats;
@@ -638,11 +642,10 @@
 
         /*
          * kstats for ZFS I/O ops and bytes.
          */
         kmutex_t        zone_zfs_lock;          /* protects ZFS statistics */
-        kstat_t         *zone_zfs_ksp;
         kstat_io_t      zone_zfs_rwstats;
         zone_zfs_kstat_t *zone_zfs_stats;
 
         /*
          * Solaris Auditing per-zone audit context
@@ -705,12 +708,10 @@
         uint32_t        zone_ffcap;             /* hit an rctl cap */
         uint32_t        zone_ffnoproc;          /* get proc/lwp error */
         uint32_t        zone_ffnomem;           /* as_dup/memory error */
         uint32_t        zone_ffmisc;            /* misc. other error */
 
-        uint32_t        zone_mfseglim;          /* map failure (# segs limit) */
-
         uint32_t        zone_nested_intp;       /* nested interp. kstat */
 
         struct loadavg_s zone_loadavg;          /* loadavg for this zone */
         uint64_t        zone_hp_avenrun[3];     /* high-precision avenrun */
         int             zone_avenrun[3];        /* FSCALED avg. run queue len */
@@ -763,11 +764,10 @@
 extern zone_t *zone_find_by_label(const ts_label_t *);
 extern zone_t *zone_find_by_name(char *);
 extern zone_t *zone_find_by_any_path(const char *, boolean_t);
 extern zone_t *zone_find_by_path(const char *);
 extern zoneid_t getzoneid(void);
-extern zoneid_t getzonedid(void);
 extern zone_t *zone_find_by_id_nolock(zoneid_t);
 extern int zone_datalink_walk(zoneid_t, int (*)(datalink_id_t, void *), void *);
 extern int zone_check_datalink(zoneid_t *, datalink_id_t);
 extern void zone_loadavg_update();