diff options
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/spa.h | 2 | ||||
-rw-r--r-- | include/sys/vdev.h | 3 | ||||
-rw-r--r-- | include/sys/vdev_impl.h | 3 | ||||
-rw-r--r-- | include/sys/zfs_context.h | 1 |
4 files changed, 8 insertions, 1 deletions
diff --git a/include/sys/spa.h b/include/sys/spa.h index 76fae788b..3e68cb8c6 100644 --- a/include/sys/spa.h +++ b/include/sys/spa.h @@ -838,7 +838,7 @@ extern kmutex_t spa_namespace_lock; #define SPA_CONFIG_UPDATE_POOL 0 #define SPA_CONFIG_UPDATE_VDEVS 1 -extern void spa_write_cachefile(spa_t *, boolean_t, boolean_t); +extern void spa_write_cachefile(spa_t *, boolean_t, boolean_t, boolean_t); extern void spa_config_load(void); extern nvlist_t *spa_all_configs(uint64_t *); extern void spa_config_set(spa_t *spa, nvlist_t *config); diff --git a/include/sys/vdev.h b/include/sys/vdev.h index 5fec1d51a..7a7c70dc1 100644 --- a/include/sys/vdev.h +++ b/include/sys/vdev.h @@ -148,6 +148,7 @@ extern int vdev_degrade(spa_t *spa, uint64_t guid, vdev_aux_t aux); extern int vdev_online(spa_t *spa, uint64_t guid, uint64_t flags, vdev_state_t *); extern int vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags); +extern int vdev_remove_wanted(spa_t *spa, uint64_t guid); extern void vdev_clear(spa_t *spa, vdev_t *vd); extern boolean_t vdev_is_dead(vdev_t *vd); @@ -190,6 +191,8 @@ typedef enum vdev_config_flag { VDEV_CONFIG_MISSING = 1 << 4 } vdev_config_flag_t; +extern void vdev_post_kobj_evt(vdev_t *vd); +extern void vdev_clear_kobj_evt(vdev_t *vd); extern void vdev_top_config_generate(spa_t *spa, nvlist_t *config); extern nvlist_t *vdev_config_generate(spa_t *spa, vdev_t *vd, boolean_t getstats, vdev_config_flag_t flags); diff --git a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h index 84c7363dd..b789d2c05 100644 --- a/include/sys/vdev_impl.h +++ b/include/sys/vdev_impl.h @@ -69,6 +69,7 @@ extern uint_t zfs_vdev_async_write_max_active; * Virtual device operations */ typedef int vdev_init_func_t(spa_t *spa, nvlist_t *nv, void **tsd); +typedef void vdev_kobj_post_evt_func_t(vdev_t *vd); typedef void vdev_fini_func_t(vdev_t *vd); typedef int vdev_open_func_t(vdev_t *vd, uint64_t *size, uint64_t *max_size, uint64_t *ashift, uint64_t *pshift); @@ -123,6 +124,7 @@ typedef const struct vdev_ops { vdev_config_generate_func_t *vdev_op_config_generate; vdev_nparity_func_t *vdev_op_nparity; vdev_ndisks_func_t *vdev_op_ndisks; + vdev_kobj_post_evt_func_t *vdev_op_kobj_evt_post; char vdev_op_type[16]; boolean_t vdev_op_leaf; } vdev_ops_t; @@ -436,6 +438,7 @@ struct vdev { boolean_t vdev_isl2cache; /* was a l2cache device */ boolean_t vdev_copy_uberblocks; /* post expand copy uberblocks */ boolean_t vdev_resilver_deferred; /* resilver deferred */ + boolean_t vdev_kobj_flag; /* kobj event record */ vdev_queue_t vdev_queue; /* I/O deadline schedule queue */ vdev_cache_t vdev_cache; /* physical block cache */ spa_aux_vdev_t *vdev_aux; /* for l2cache and spares vdevs */ diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index 83ed97fbe..1f7e8bffa 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -50,6 +50,7 @@ extern "C" { #include <sys/kmem.h> #include <sys/kmem_cache.h> #include <sys/vmem.h> +#include <sys/misc.h> #include <sys/taskq.h> #include <sys/param.h> #include <sys/disp.h> |