#include #include #include #include #include #include "common.h" #include "zpool.h" __uint64_t set_zpool_vdev_online(zpool_list_t *pool, const char *path, int flags) { vdev_state_t newstate = VDEV_STATE_UNKNOWN; zpool_vdev_online(pool->zph, path, flags, &newstate); return newstate; } int set_zpool_vdev_offline(zpool_list_t *pool, const char *path, boolean_t istmp, boolean_t force) { int ret = 0; // if (force) { // uint64_t guid = zpool_vdev_path_to_guid(pool->zph, path); // vdev_aux_t aux; // if (istmp == B_FALSE) { // /* Force the fault to persist across imports */ // aux = VDEV_AUX_EXTERNAL_PERSIST; // } else { // aux = VDEV_AUX_EXTERNAL; // } // if (guid == 0 || zpool_vdev_fault(pool->zph, guid, aux) != 0) // ret = 1; // } else { if (zpool_vdev_offline(pool->zph, path, istmp) != 0) ret = 1; // } return ret; }