Print this page
NEX-3984 On-demand TRIM
Reviewed by: Alek Pinchuk <alek@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Conflicts:
usr/src/common/zfs/zpool_prop.c
usr/src/uts/common/sys/fs/zfs.h
NEX-3474 CLONE - Port NEX-2591 FRU field not set during pool creation and never updated
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Josef Sipek <josef.sipek@nexenta.com>
NEX-3165 need some dedup improvements
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
OS-90 Kernel should generate events when device gets retired / unretired.
Issue #10: Support for "threshold exceeded" notifications for special vdevs
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/uts/common/sys/sysevent/eventdefs.h
+++ new/usr/src/uts/common/sys/sysevent/eventdefs.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 * or http://www.opensolaris.org/os/licensing.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
21 21
22 22 /*
23 23 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
24 24 * Copyright 2016 Nexenta Systems, Inc.
25 25 * Copyright 2017 Joyent, Inc.
26 26 */
27 27
28 28 #ifndef _SYS_SYSEVENT_EVENTDEFS_H
29 29 #define _SYS_SYSEVENT_EVENTDEFS_H
30 30
31 31 #ifdef __cplusplus
32 32 extern "C" {
33 33 #endif
34 34
35 35 /*
36 36 * eventdefs.h contains public definitions for sysevent types (classes
37 37 * and subclasses). All additions/removal/changes are subject
38 38 * to PSARC approval.
39 39 */
40 40
41 41 /* Sysevent Class definitions */
42 42 #define EC_NONE "EC_none"
43 43 #define EC_PRIV "EC_priv"
44 44 #define EC_PLATFORM "EC_platform" /* events private to platform */
45 45 #define EC_DR "EC_dr" /* Dynamic reconfiguration event class */
46 46 #define EC_ENV "EC_env" /* Environmental monitor event class */
47 47 #define EC_DOMAIN "EC_domain" /* Domain event class */
48 48 #define EC_AP_DRIVER "EC_ap_driver" /* Alternate Pathing event class */
49 49 #define EC_IPMP "EC_ipmp" /* IP Multipathing event class */
50 50 #define EC_DEV_ADD "EC_dev_add" /* device add event class */
51 51 #define EC_DEV_REMOVE "EC_dev_remove" /* device remove event class */
52 52 #define EC_DEV_BRANCH "EC_dev_branch" /* device tree branch event class */
53 53 #define EC_DEV_STATUS "EC_dev_status" /* device status event class */
54 54 #define EC_FM "EC_fm" /* FMA error report event */
55 55 #define EC_ZFS "EC_zfs" /* ZFS event */
56 56 #define EC_DATALINK "EC_datalink" /* datalink event */
57 57 #define EC_VRRP "EC_vrrp" /* VRRP event */
58 58
59 59 /*
60 60 * The following event class is reserved for exclusive use
61 61 * by Sun Cluster software.
62 62 */
63 63 #define EC_CLUSTER "EC_Cluster"
64 64
65 65 /*
66 66 * EC_DR subclass definitions - supporting attributes (name/value pairs)
67 67 * are found in sys/sysevent/dr.h
68 68 */
69 69
70 70 /* Attachment point state change */
71 71 #define ESC_DR_AP_STATE_CHANGE "ESC_dr_ap_state_change"
72 72 #define ESC_DR_REQ "ESC_dr_req" /* Request DR */
73 73 #define ESC_DR_TARGET_STATE_CHANGE "ESC_dr_target_state_change"
74 74
75 75 /*
76 76 * EC_ENV subclass definitions - supporting attributes (name/value pairs)
77 77 * are found in sys/sysevent/env.h
78 78 */
79 79 #define ESC_ENV_TEMP "ESC_env_temp" /* Temperature change event subclass */
80 80 #define ESC_ENV_FAN "ESC_env_fan" /* Fan status change event subclass */
81 81 #define ESC_ENV_POWER "ESC_env_power" /* Power supply change event subclass */
82 82 #define ESC_ENV_LED "ESC_env_led" /* LED change event subclass */
83 83
84 84 /*
85 85 * EC_DOMAIN subclass definitions - supporting attributes (name/value pairs)
86 86 * are found in sys/sysevent/domain.h
87 87 */
88 88
89 89 /* Domain state change */
90 90 #define ESC_DOMAIN_STATE_CHANGE "ESC_domain_state_change"
91 91 /* Domain loghost name change */
92 92 #define ESC_DOMAIN_LOGHOST_CHANGE "ESC_domain_loghost_change"
93 93
94 94 /*
95 95 * EC_AP_DRIVER subclass definitions - supporting attributes (name/value pairs)
96 96 * are found in sys/sysevent/ap_driver.h
97 97 */
98 98
99 99 /* Alternate Pathing path switch */
100 100 #define ESC_AP_DRIVER_PATHSWITCH "ESC_ap_driver_pathswitch"
101 101 /* Alternate Pathing database commit */
102 102 #define ESC_AP_DRIVER_COMMIT "ESC_ap_driver_commit"
103 103 /* Alternate Pathing physical path status change */
104 104 #define ESC_AP_DRIVER_PHYS_PATH_STATUS_CHANGE \
105 105 "ESC_ap_driver_phys_path_status_change"
106 106
107 107 /*
108 108 * EC_IPMP subclass definitions - supporting attributes (name/value pairs)
109 109 * are found in sys/sysevent/ipmp.h
110 110 */
111 111
112 112 /* IPMP group has changed state */
113 113 #define ESC_IPMP_GROUP_STATE "ESC_ipmp_group_state"
114 114
115 115 /* IPMP group has been created or removed */
116 116 #define ESC_IPMP_GROUP_CHANGE "ESC_ipmp_group_change"
117 117
118 118 /* IPMP group has had an interface added or removed */
119 119 #define ESC_IPMP_GROUP_MEMBER_CHANGE "ESC_ipmp_group_member_change"
120 120
121 121 /* Interface within an IPMP group has changed state or type */
122 122 #define ESC_IPMP_IF_CHANGE "ESC_ipmp_if_change"
123 123
124 124 /* IPMP probe has changed state */
125 125 #define ESC_IPMP_PROBE_STATE "ESC_ipmp_probe_state"
126 126
127 127 /*
128 128 * EC_DEV_ADD and EC_DEV_REMOVE subclass definitions - supporting attributes
129 129 * (name/value pairs) are found in sys/sysevent/dev.h
130 130 */
131 131 #define ESC_DISK "disk" /* disk device */
132 132 #define ESC_NETWORK "network" /* network interface */
133 133 #define ESC_PRINTER "printer" /* printer device */
134 134 #define ESC_LOFI "lofi" /* lofi device */
135 135
136 136 /*
137 137 * EC_DEV_BRANCH subclass definitions - supporting attributes (name/value pairs)
138 138 * are found in sys/sysevent/dev.h
139 139 */
140 140
141 141 /* device tree branch added */
142 142 #define ESC_DEV_BRANCH_ADD "ESC_dev_branch_add"
143 143
|
↓ open down ↓ |
143 lines elided |
↑ open up ↑ |
144 144 /* device tree branch removed */
145 145 #define ESC_DEV_BRANCH_REMOVE "ESC_dev_branch_remove"
146 146
147 147 /*
148 148 * EC_DEV_STATUS subclass definitions
149 149 *
150 150 * device capacity dynamically changed
151 151 */
152 152 #define ESC_DEV_DLE "ESC_dev_dle"
153 153
154 +/* device retired */
155 +#define ESC_DEV_RETIRE "ESC_dev_retire"
156 +
157 +/* device unretire */
158 +#define ESC_DEV_UNRETIRE "ESC_dev_unretire"
159 +
154 160 /* LUN has received an eject request from the user */
155 161 #define ESC_DEV_EJECT_REQUEST "ESC_dev_eject_request"
156 162
157 163 /* FMA Fault and Error event protocol subclass */
158 164 #define ESC_FM_ERROR "ESC_FM_error"
159 165 #define ESC_FM_ERROR_REPLAY "ESC_FM_error_replay"
160 166
161 167 /* Service processor subclass definitions */
162 168 #define ESC_PLATFORM_SP_RESET "ESC_platform_sp_reset"
163 169
164 170 /*
165 171 * EC_PWRCTL subclass definitions
166 172 */
167 173 #define EC_PWRCTL "EC_pwrctl"
168 174 #define ESC_PWRCTL_ADD "ESC_pwrctl_add"
169 175 #define ESC_PWRCTL_REMOVE "ESC_pwrctl_remove"
170 176 #define ESC_PWRCTL_WARN "ESC_pwrctl_warn"
171 177 #define ESC_PWRCTL_LOW "ESC_pwrctl_low"
172 178 #define ESC_PWRCTL_STATE_CHANGE "ESC_pwrctl_state_change"
173 179 #define ESC_PWRCTL_POWER_BUTTON "ESC_pwrctl_power_button"
174 180 #define ESC_PWRCTL_BRIGHTNESS_UP "ESC_pwrctl_brightness_up"
175 181 #define ESC_PWRCTL_BRIGHTNESS_DOWN "ESC_pwrctl_brightness_down"
176 182
177 183 /* EC_ACPIEV subclass definitions */
178 184 #define EC_ACPIEV "EC_acpiev"
179 185 #define ESC_ACPIEV_DISPLAY_SWITCH "ESC_acpiev_display_switch"
180 186 #define ESC_ACPIEV_SCREEN_LOCK "ESC_acpiev_screen_lock"
181 187 #define ESC_ACPIEV_SLEEP "ESC_acpiev_sleep"
182 188 #define ESC_ACPIEV_AUDIO_MUTE "ESC_acpiev_audio_mute"
183 189 #define ESC_ACPIEV_WIFI "ESC_acpiev_wifi"
184 190 #define ESC_ACPIEV_TOUCHPAD "ESC_acpiev_touchpad"
185 191
186 192 /*
187 193 * ZFS subclass definitions. supporting attributes (name/value paris) are found
188 194 * in sys/fs/zfs.h
189 195 */
190 196 #define ESC_ZFS_RESILVER_START "ESC_ZFS_resilver_start"
191 197 #define ESC_ZFS_RESILVER_FINISH "ESC_ZFS_resilver_finish"
192 198 #define ESC_ZFS_VDEV_REMOVE "ESC_ZFS_vdev_remove"
193 199 #define ESC_ZFS_VDEV_REMOVE_AUX "ESC_ZFS_vdev_remove_aux"
194 200 #define ESC_ZFS_VDEV_REMOVE_DEV "ESC_ZFS_vdev_remove_dev"
195 201 #define ESC_ZFS_POOL_CREATE "ESC_ZFS_pool_create"
196 202 #define ESC_ZFS_POOL_DESTROY "ESC_ZFS_pool_destroy"
197 203 #define ESC_ZFS_POOL_IMPORT "ESC_ZFS_pool_import"
198 204 #define ESC_ZFS_VDEV_ADD "ESC_ZFS_vdev_add"
199 205 #define ESC_ZFS_VDEV_ATTACH "ESC_ZFS_vdev_attach"
200 206 #define ESC_ZFS_VDEV_CLEAR "ESC_ZFS_vdev_clear"
201 207 #define ESC_ZFS_VDEV_CHECK "ESC_ZFS_vdev_check"
|
↓ open down ↓ |
38 lines elided |
↑ open up ↑ |
202 208 #define ESC_ZFS_VDEV_ONLINE "ESC_ZFS_vdev_online"
203 209 #define ESC_ZFS_CONFIG_SYNC "ESC_ZFS_config_sync"
204 210 #define ESC_ZFS_SCRUB_START "ESC_ZFS_scrub_start"
205 211 #define ESC_ZFS_SCRUB_FINISH "ESC_ZFS_scrub_finish"
206 212 #define ESC_ZFS_SCRUB_ABORT "ESC_ZFS_scrub_abort"
207 213 #define ESC_ZFS_SCRUB_RESUME "ESC_ZFS_scrub_resume"
208 214 #define ESC_ZFS_SCRUB_PAUSED "ESC_ZFS_scrub_paused"
209 215 #define ESC_ZFS_VDEV_SPARE "ESC_ZFS_vdev_spare"
210 216 #define ESC_ZFS_BOOTFS_VDEV_ATTACH "ESC_ZFS_bootfs_vdev_attach"
211 217 #define ESC_ZFS_POOL_REGUID "ESC_ZFS_pool_reguid"
218 +#define ESC_ZFS_NONE_WATERMARK "ESC_ZFS_none_watermark"
219 +#define ESC_ZFS_LOW_WATERMARK "ESC_ZFS_low_watermark"
220 +#define ESC_ZFS_HIGH_WATERMARK "ESC_ZFS_high_watermark"
221 +#define ESC_ZFS_DEDUP_OFF "ESC_ZFS_dedup_off"
222 +#define ESC_ZFS_DEDUP_ON "ESC_ZFS_dedup_on"
223 +#define ESC_ZFS_TRIM_START "ESC_ZFS_trim_start"
224 +#define ESC_ZFS_TRIM_FINISH "ESC_ZFS_trim_finish"
212 225 #define ESC_ZFS_HISTORY_EVENT "ESC_ZFS_history_event"
213 226
214 227 /*
215 228 * datalink subclass definitions.
216 229 */
217 230 #define ESC_DATALINK_PHYS_ADD "ESC_datalink_phys_add" /* new physical link */
218 231
219 232 /*
220 233 * VRRP subclass definitions. Supporting attributes (name/value paris) are
221 234 * found in sys/sysevent/vrrp.h
222 235 */
223 236 #define ESC_VRRP_STATE_CHANGE "ESC_vrrp_state_change"
224 237
225 238 #ifdef __cplusplus
226 239 }
227 240 #endif
228 241
229 242 #endif /* _SYS_SYSEVENT_EVENTDEFS_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX