aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys/fs/zfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sys/fs/zfs.h')
-rw-r--r--include/sys/fs/zfs.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/sys/fs/zfs.h b/include/sys/fs/zfs.h
index 4c2097fb8..93193fa14 100644
--- a/include/sys/fs/zfs.h
+++ b/include/sys/fs/zfs.h
@@ -1036,6 +1036,7 @@ typedef enum pool_scan_func {
POOL_SCAN_NONE,
POOL_SCAN_SCRUB,
POOL_SCAN_RESILVER,
+ POOL_SCAN_ERRORSCRUB,
POOL_SCAN_FUNCS
} pool_scan_func_t;
@@ -1099,6 +1100,20 @@ typedef struct pool_scan_stat {
uint64_t pss_pass_scrub_spent_paused;
uint64_t pss_pass_issued; /* issued bytes per scan pass */
uint64_t pss_issued; /* total bytes checked by scanner */
+
+ /* error scrub values stored on disk */
+ uint64_t pss_error_scrub_func; /* pool_scan_func_t */
+ uint64_t pss_error_scrub_state; /* dsl_scan_state_t */
+ uint64_t pss_error_scrub_start; /* error scrub start time */
+ uint64_t pss_error_scrub_end; /* error scrub end time */
+ uint64_t pss_error_scrub_examined; /* error blocks issued I/O */
+ /* error blocks to be issued I/O */
+ uint64_t pss_error_scrub_to_be_examined;
+
+ /* error scrub values not stored on disk */
+ /* error scrub pause time in milliseconds */
+ uint64_t pss_pass_error_scrub_pause;
+
} pool_scan_stat_t;
typedef struct pool_removal_stat {
@@ -1120,6 +1135,7 @@ typedef enum dsl_scan_state {
DSS_SCANNING,
DSS_FINISHED,
DSS_CANCELED,
+ DSS_ERRORSCRUBBING,
DSS_NUM_STATES
} dsl_scan_state_t;
@@ -1360,7 +1376,7 @@ typedef enum {
*/
typedef enum zfs_ioc {
/*
- * Core features - 81/128 numbers reserved.
+ * Core features - 88/128 numbers reserved.
*/
#ifdef __FreeBSD__
ZFS_IOC_FIRST = 0,
@@ -1455,6 +1471,7 @@ typedef enum zfs_ioc {
ZFS_IOC_WAIT_FS, /* 0x5a54 */
ZFS_IOC_VDEV_GET_PROPS, /* 0x5a55 */
ZFS_IOC_VDEV_SET_PROPS, /* 0x5a56 */
+ ZFS_IOC_POOL_SCRUB, /* 0x5a57 */
/*
* Per-platform (Optional) - 8/128 numbers reserved.