Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
Show First 20 Lines • Show All 251 Lines • ▼ Show 20 Lines | struct spa { | ||||
/* checksum context templates */ | /* checksum context templates */ | ||||
kmutex_t spa_cksum_tmpls_lock; | kmutex_t spa_cksum_tmpls_lock; | ||||
void *spa_cksum_tmpls[ZIO_CHECKSUM_FUNCTIONS]; | void *spa_cksum_tmpls[ZIO_CHECKSUM_FUNCTIONS]; | ||||
uberblock_t spa_ubsync; /* last synced uberblock */ | uberblock_t spa_ubsync; /* last synced uberblock */ | ||||
uberblock_t spa_uberblock; /* current uberblock */ | uberblock_t spa_uberblock; /* current uberblock */ | ||||
boolean_t spa_extreme_rewind; /* rewind past deferred frees */ | boolean_t spa_extreme_rewind; /* rewind past deferred frees */ | ||||
uint64_t spa_last_io; /* lbolt of last non-scan I/O */ | uint64_t spa_last_io; /* lbolt of last non-scan I/O */ | ||||
kmutex_t spa_scrub_lock; /* resilver/scrub lock */ | kmutex_t spa_scrub_lock; /* resilver/scrub lock */ | ||||
uint64_t spa_scrub_inflight; /* in-flight scrub I/Os */ | uint64_t spa_scrub_inflight; /* in-flight scrub bytes */ | ||||
uint64_t spa_load_verify_ios; /* in-flight verifications IOs */ | |||||
kcondvar_t spa_scrub_io_cv; /* scrub I/O completion */ | kcondvar_t spa_scrub_io_cv; /* scrub I/O completion */ | ||||
uint8_t spa_scrub_active; /* active or suspended? */ | uint8_t spa_scrub_active; /* active or suspended? */ | ||||
uint8_t spa_scrub_type; /* type of scrub we're doing */ | uint8_t spa_scrub_type; /* type of scrub we're doing */ | ||||
uint8_t spa_scrub_finished; /* indicator to rotate logs */ | uint8_t spa_scrub_finished; /* indicator to rotate logs */ | ||||
uint8_t spa_scrub_started; /* started since last boot */ | uint8_t spa_scrub_started; /* started since last boot */ | ||||
uint8_t spa_scrub_reopen; /* scrub doing vdev_reopen */ | 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_start; /* start time per pass/reboot */ | ||||
uint64_t spa_scan_pass_scrub_pause; /* scrub pause time */ | 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_scrub_spent_paused; /* total paused */ | ||||
uint64_t spa_scan_pass_exam; /* examined bytes per pass */ | uint64_t spa_scan_pass_exam; /* examined bytes per pass */ | ||||
uint64_t spa_scan_pass_issued; /* issued bytes per pass */ | |||||
kmutex_t spa_async_lock; /* protect async state */ | kmutex_t spa_async_lock; /* protect async state */ | ||||
kthread_t *spa_async_thread; /* thread doing async task */ | kthread_t *spa_async_thread; /* thread doing async task */ | ||||
kthread_t *spa_async_thread_vd; /* thread doing vd async task */ | kthread_t *spa_async_thread_vd; /* thread doing vd async task */ | ||||
int spa_async_suspended; /* async tasks suspended */ | int spa_async_suspended; /* async tasks suspended */ | ||||
kcondvar_t spa_async_cv; /* wait for thread_exit() */ | kcondvar_t spa_async_cv; /* wait for thread_exit() */ | ||||
uint16_t spa_async_tasks; /* async task mask */ | uint16_t spa_async_tasks; /* async task mask */ | ||||
uint64_t spa_missing_tvds; /* unopenable tvds on load */ | uint64_t spa_missing_tvds; /* unopenable tvds on load */ | ||||
uint64_t spa_missing_tvds_allowed; /* allow loading spa? */ | uint64_t spa_missing_tvds_allowed; /* allow loading spa? */ | ||||
▲ Show 20 Lines • Show All 130 Lines • Show Last 20 Lines |