diff options
author | Joe Stein <[email protected]> | 2016-04-11 16:16:57 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-05-02 14:27:45 -0700 |
commit | e0ab3ab553e36595344d9cbdc240d380ad203b60 (patch) | |
tree | d9a568b7b7fce81fab94a7409b98d60b7a2c10f9 /include/sys/spa_impl.h | |
parent | 4cd77889b684fd0dd1a0a995b692dda3db76a9ac (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.h | 8 |
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 */ |