summaryrefslogtreecommitdiffstats
path: root/include/sys/spa_impl.h
diff options
context:
space:
mode:
authorJoe Stein <[email protected]>2016-04-11 16:16:57 -0400
committerBrian Behlendorf <[email protected]>2016-05-02 14:27:45 -0700
commite0ab3ab553e36595344d9cbdc240d380ad203b60 (patch)
treed9a568b7b7fce81fab94a7409b98d60b7a2c10f9 /include/sys/spa_impl.h
parent4cd77889b684fd0dd1a0a995b692dda3db76a9ac (diff)
OpenZFS 6736 - ZFS per-vdev ZAPs
6736 ZFS per-vdev ZAPs Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: John Kennedy <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Don Brady <[email protected]> Reviewed by: Dan McDonald <[email protected]> References: https://www.illumos.org/issues/6736 https://github.com/openzfs/openzfs/commit/215198a Ported-by: Don Brady <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4515
Diffstat (limited to 'include/sys/spa_impl.h')
-rw-r--r--include/sys/spa_impl.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sys/spa_impl.h b/include/sys/spa_impl.h
index 759c3472f..2eb5fa12a 100644
--- a/include/sys/spa_impl.h
+++ b/include/sys/spa_impl.h
@@ -116,6 +116,12 @@ typedef struct spa_taskqs {
taskq_t **stqs_taskq;
} spa_taskqs_t;
+typedef enum spa_all_vdev_zap_action {
+ AVZ_ACTION_NONE = 0,
+ AVZ_ACTION_DESTROY, /* Destroy all per-vdev ZAPs and the AVZ. */
+ AVZ_ACTION_REBUILD /* Populate the new AVZ, see spa_avz_rebuild */
+} spa_avz_action_t;
+
struct spa {
/*
* Fields protected by spa_namespace_lock.
@@ -251,6 +257,8 @@ struct spa {
uint64_t spa_deadman_calls; /* number of deadman calls */
hrtime_t spa_sync_starttime; /* starting time of spa_sync */
uint64_t spa_deadman_synctime; /* deadman expiration timer */
+ uint64_t spa_all_vdev_zaps; /* ZAP of per-vd ZAP obj #s */
+ spa_avz_action_t spa_avz_action; /* destroy/rebuild AVZ? */
uint64_t spa_errata; /* errata issues detected */
spa_stats_t spa_stats; /* assorted spa statistics */
hrtime_t spa_ccw_fail_time; /* Conf cache write fail time */