mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 03:08:51 +03:00
Illumos 4171, 4172
4171 clean up spa_feature_*() interfaces 4172 implement extensible_dataset feature for use by other zpool features Reviewed by: Max Grossman <max.grossman@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Garrett D'Amore <garrett@damore.org>a References: https://www.illumos.org/issues/4171 https://www.illumos.org/issues/4172 https://github.com/illumos/illumos-gate/commit/2acef22 Ported-by: Tim Chase <tim@chase2k.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #2528
This commit is contained in:
committed by
Brian Behlendorf
parent
62b6939308
commit
fa86b5dbb6
+18
-9
@@ -27,6 +27,7 @@
|
||||
#define _SYS_ZFEATURE_H
|
||||
|
||||
#include <sys/nvpair.h>
|
||||
#include <sys/txg.h>
|
||||
#include "zfeature_common.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -37,17 +38,25 @@ struct spa;
|
||||
struct dmu_tx;
|
||||
struct objset;
|
||||
|
||||
extern boolean_t feature_is_supported(struct objset *os, uint64_t obj,
|
||||
uint64_t desc_obj, nvlist_t *unsup_feat, nvlist_t *enabled_feat);
|
||||
|
||||
extern void spa_feature_create_zap_objects(struct spa *, struct dmu_tx *);
|
||||
extern void spa_feature_enable(struct spa *, zfeature_info_t *,
|
||||
extern void spa_feature_enable(struct spa *, spa_feature_t,
|
||||
struct dmu_tx *);
|
||||
extern void spa_feature_incr(struct spa *, spa_feature_t, struct dmu_tx *);
|
||||
extern void spa_feature_decr(struct spa *, spa_feature_t, struct dmu_tx *);
|
||||
extern boolean_t spa_feature_is_enabled(struct spa *, spa_feature_t);
|
||||
extern boolean_t spa_feature_is_active(struct spa *, spa_feature_t);
|
||||
extern uint64_t spa_feature_refcount(spa_t *, spa_feature_t, uint64_t);
|
||||
extern boolean_t spa_features_check(spa_t *, boolean_t, nvlist_t *, nvlist_t *);
|
||||
|
||||
/*
|
||||
* These functions are only exported for zhack and zdb; normal callers should
|
||||
* use the above interfaces.
|
||||
*/
|
||||
extern int feature_get_refcount(struct spa *, zfeature_info_t *, uint64_t *);
|
||||
extern void feature_enable_sync(struct spa *, zfeature_info_t *,
|
||||
struct dmu_tx *);
|
||||
extern void feature_sync(struct spa *, zfeature_info_t *, uint64_t,
|
||||
struct dmu_tx *);
|
||||
extern void spa_feature_incr(struct spa *, zfeature_info_t *, struct dmu_tx *);
|
||||
extern void spa_feature_decr(struct spa *, zfeature_info_t *, struct dmu_tx *);
|
||||
extern boolean_t spa_feature_is_enabled(struct spa *, zfeature_info_t *);
|
||||
extern boolean_t spa_feature_is_active(struct spa *, zfeature_info_t *);
|
||||
extern int spa_feature_get_refcount(struct spa *, zfeature_info_t *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user