]> granicus.if.org Git - zfs/blobdiff - include/sys/spa_impl.h
OpenZFS 8491 - uberblock on-disk padding to reserve space for smoothly merging zpool...
[zfs] / include / sys / spa_impl.h
index b807645373c90812dc7762cdca925d7d654b130f..06de244218f3ecd1665e063d62e5746a41ecee32 100644 (file)
@@ -25,6 +25,7 @@
  * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved.
  * Copyright 2013 Saso Kiselkov. All rights reserved.
  * Copyright (c) 2016 Actifio, Inc. All rights reserved.
+ * Copyright (c) 2017 Datto Inc.
  */
 
 #ifndef _SYS_SPA_IMPL_H
@@ -120,7 +121,8 @@ typedef struct spa_taskqs {
 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 */
+       AVZ_ACTION_REBUILD,     /* Populate the new AVZ, see spa_avz_rebuild */
+       AVZ_ACTION_INITIALIZE
 } spa_avz_action_t;
 
 struct spa {
@@ -192,6 +194,8 @@ struct spa {
        uint8_t         spa_scrub_started;      /* started since last boot */
        uint8_t         spa_scrub_reopen;       /* scrub doing vdev_reopen */
        uint64_t        spa_scan_pass_start;    /* start time per pass/reboot */
+       uint64_t        spa_scan_pass_scrub_pause; /* scrub pause time */
+       uint64_t        spa_scan_pass_scrub_spent_paused; /* total paused */
        uint64_t        spa_scan_pass_exam;     /* examined bytes per pass */
        kmutex_t        spa_async_lock;         /* protect async state */
        kthread_t       *spa_async_thread;      /* thread doing async task */
@@ -271,6 +275,8 @@ struct spa {
        spa_stats_t     spa_stats;              /* assorted spa statistics */
        hrtime_t        spa_ccw_fail_time;      /* Conf cache write fail time */
        taskq_t         *spa_zvol_taskq;        /* Taskq for minor management */
+       uint64_t        spa_multihost;          /* multihost aware (mmp) */
+       mmp_thread_t    spa_mmp;                /* multihost mmp thread */
 
        /*
         * spa_refcount & spa_config_lock must be the last elements