usr/src/grub/grub-0.97/stage2/zfs-include/zfs.h
changeset 13700 2889e2596bd6
parent 13049 2511753a6599
equal deleted inserted replaced
13699:733714f4dc24 13700:2889e2596bd6
    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  */