zfeature_common.h (259813) | zfeature_common.h (260150) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 30 unchanged lines hidden (view full) --- 39 40typedef enum spa_feature { 41 SPA_FEATURE_NONE = -1, 42 SPA_FEATURE_ASYNC_DESTROY, 43 SPA_FEATURE_EMPTY_BPOBJ, 44 SPA_FEATURE_LZ4_COMPRESS, 45 SPA_FEATURE_MULTI_VDEV_CRASH_DUMP, 46 SPA_FEATURE_SPACEMAP_HISTOGRAM, | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 30 unchanged lines hidden (view full) --- 39 40typedef enum spa_feature { 41 SPA_FEATURE_NONE = -1, 42 SPA_FEATURE_ASYNC_DESTROY, 43 SPA_FEATURE_EMPTY_BPOBJ, 44 SPA_FEATURE_LZ4_COMPRESS, 45 SPA_FEATURE_MULTI_VDEV_CRASH_DUMP, 46 SPA_FEATURE_SPACEMAP_HISTOGRAM, |
47 SPA_FEATURE_ENABLED_TXG, 48 SPA_FEATURE_HOLE_BIRTH, |
|
47 SPA_FEATURE_EXTENSIBLE_DATASET, 48 SPA_FEATURES 49} spa_feature_t; 50 | 49 SPA_FEATURE_EXTENSIBLE_DATASET, 50 SPA_FEATURES 51} spa_feature_t; 52 |
53#define SPA_FEATURE_DISABLED (-1ULL) 54 |
|
51typedef struct zfeature_info { 52 spa_feature_t fi_feature; 53 const char *fi_uname; /* User-facing feature name */ 54 const char *fi_guid; /* On-disk feature identifier */ 55 const char *fi_desc; /* Feature description */ 56 boolean_t fi_can_readonly; /* Can open pool readonly w/o support? */ 57 boolean_t fi_mos; /* Is the feature necessary to read the MOS? */ | 55typedef struct zfeature_info { 56 spa_feature_t fi_feature; 57 const char *fi_uname; /* User-facing feature name */ 58 const char *fi_guid; /* On-disk feature identifier */ 59 const char *fi_desc; /* Feature description */ 60 boolean_t fi_can_readonly; /* Can open pool readonly w/o support? */ 61 boolean_t fi_mos; /* Is the feature necessary to read the MOS? */ |
62 /* Activate this feature at the same time it is enabled */ 63 boolean_t fi_activate_on_enable; |
|
58 /* array of dependencies, terminated by SPA_FEATURE_NONE */ 59 const spa_feature_t *fi_depends; 60} zfeature_info_t; 61 62typedef int (zfeature_func_t)(zfeature_info_t *fi, void *arg); 63 64#define ZFS_FEATURE_DEBUG 65 66extern zfeature_info_t spa_feature_table[SPA_FEATURES]; 67 68extern boolean_t zfeature_is_valid_guid(const char *); 69 70extern boolean_t zfeature_is_supported(const char *); 71extern int zfeature_lookup_name(const char *name, spa_feature_t *res); | 64 /* array of dependencies, terminated by SPA_FEATURE_NONE */ 65 const spa_feature_t *fi_depends; 66} zfeature_info_t; 67 68typedef int (zfeature_func_t)(zfeature_info_t *fi, void *arg); 69 70#define ZFS_FEATURE_DEBUG 71 72extern zfeature_info_t spa_feature_table[SPA_FEATURES]; 73 74extern boolean_t zfeature_is_valid_guid(const char *); 75 76extern boolean_t zfeature_is_supported(const char *); 77extern int zfeature_lookup_name(const char *name, spa_feature_t *res); |
78extern boolean_t zfeature_depends_on(spa_feature_t fid, spa_feature_t check); |
|
72 73extern void zpool_feature_init(void); 74 75#ifdef __cplusplus 76} 77#endif 78 79#endif /* _ZFEATURE_COMMON_H */ | 79 80extern void zpool_feature_init(void); 81 82#ifdef __cplusplus 83} 84#endif 85 86#endif /* _ZFEATURE_COMMON_H */ |