14 * |
14 * |
15 * You should have received a copy of the GNU General Public License |
15 * You should have received a copy of the GNU General Public License |
16 * along with this program; if not, write to the Free Software |
16 * along with this program; if not, write to the Free Software |
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
18 */ |
18 */ |
|
19 |
19 /* |
20 /* |
20 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. |
21 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. |
|
22 * Copyright (c) 2012 by Delphix. All rights reserved. |
21 */ |
23 */ |
22 |
24 |
23 #ifndef _SYS_FS_ZFS_H |
25 #ifndef _SYS_FS_ZFS_H |
24 #define _SYS_FS_ZFS_H |
26 #define _SYS_FS_ZFS_H |
25 |
27 |
26 /* |
28 /* |
27 * On-disk version number. |
29 * On-disk version number. |
28 */ |
30 */ |
29 #define SPA_VERSION 28ULL |
31 #define SPA_VERSION_INITIAL 1ULL |
|
32 #define SPA_VERSION_BEFORE_FEATURES 28ULL |
|
33 #define SPA_VERSION 5000ULL |
|
34 #define SPA_VERSION_FEATURES 5000ULL |
|
35 |
|
36 #define SPA_VERSION_IS_SUPPORTED(v) \ |
|
37 (((v) >= SPA_VERSION_INITIAL && (v) <= SPA_VERSION_BEFORE_FEATURES) || \ |
|
38 ((v) >= SPA_VERSION_FEATURES && (v) <= SPA_VERSION)) |
30 |
39 |
31 /* |
40 /* |
32 * The following are configuration names used in the nvlist describing a pool's |
41 * The following are configuration names used in the nvlist describing a pool's |
33 * configuration. |
42 * configuration. |
34 */ |
43 */ |
64 #define ZPOOL_CONFIG_VDEV_CHILDREN "vdev_children" |
73 #define ZPOOL_CONFIG_VDEV_CHILDREN "vdev_children" |
65 #define ZPOOL_CONFIG_IS_HOLE "is_hole" |
74 #define ZPOOL_CONFIG_IS_HOLE "is_hole" |
66 #define ZPOOL_CONFIG_DDT_HISTOGRAM "ddt_histogram" |
75 #define ZPOOL_CONFIG_DDT_HISTOGRAM "ddt_histogram" |
67 #define ZPOOL_CONFIG_DDT_OBJ_STATS "ddt_object_stats" |
76 #define ZPOOL_CONFIG_DDT_OBJ_STATS "ddt_object_stats" |
68 #define ZPOOL_CONFIG_DDT_STATS "ddt_stats" |
77 #define ZPOOL_CONFIG_DDT_STATS "ddt_stats" |
|
78 #define ZPOOL_CONFIG_FEATURES_FOR_READ "features_for_read" |
69 /* |
79 /* |
70 * The persistent vdev state is stored as separate values rather than a single |
80 * The persistent vdev state is stored as separate values rather than a single |
71 * 'vdev_state' entry. This is because a device can be in multiple states, such |
81 * 'vdev_state' entry. This is because a device can be in multiple states, such |
72 * as offline and degraded. |
82 * as offline and degraded. |
73 */ |
83 */ |