Lines Matching refs:tvd
180 vdev_autotrim_should_stop(vdev_t *tvd) in vdev_autotrim_should_stop() argument
182 return (tvd->vdev_autotrim_exit_wanted || in vdev_autotrim_should_stop()
183 !vdev_writeable(tvd) || tvd->vdev_removing || in vdev_autotrim_should_stop()
184 tvd->vdev_rz_expanding || in vdev_autotrim_should_stop()
185 spa_get_autotrim(tvd->vdev_spa) == SPA_AUTOTRIM_OFF); in vdev_autotrim_should_stop()
1504 vdev_t *tvd = root_vd->vdev_child[i]; in vdev_autotrim() local
1506 mutex_enter(&tvd->vdev_autotrim_lock); in vdev_autotrim()
1507 if (vdev_writeable(tvd) && !tvd->vdev_removing && in vdev_autotrim()
1508 tvd->vdev_autotrim_thread == NULL && in vdev_autotrim()
1509 !tvd->vdev_rz_expanding) { in vdev_autotrim()
1510 ASSERT3P(tvd->vdev_top, ==, tvd); in vdev_autotrim()
1512 tvd->vdev_autotrim_thread = thread_create(NULL, 0, in vdev_autotrim()
1513 vdev_autotrim_thread, tvd, 0, &p0, TS_RUN, in vdev_autotrim()
1515 ASSERT(tvd->vdev_autotrim_thread != NULL); in vdev_autotrim()
1517 mutex_exit(&tvd->vdev_autotrim_lock); in vdev_autotrim()
1526 vdev_autotrim_stop_wait(vdev_t *tvd) in vdev_autotrim_stop_wait() argument
1528 mutex_enter(&tvd->vdev_autotrim_lock); in vdev_autotrim_stop_wait()
1529 if (tvd->vdev_autotrim_thread != NULL) { in vdev_autotrim_stop_wait()
1530 tvd->vdev_autotrim_exit_wanted = B_TRUE; in vdev_autotrim_stop_wait()
1531 cv_broadcast(&tvd->vdev_autotrim_kick_cv); in vdev_autotrim_stop_wait()
1532 cv_wait(&tvd->vdev_autotrim_cv, in vdev_autotrim_stop_wait()
1533 &tvd->vdev_autotrim_lock); in vdev_autotrim_stop_wait()
1535 ASSERT3P(tvd->vdev_autotrim_thread, ==, NULL); in vdev_autotrim_stop_wait()
1536 tvd->vdev_autotrim_exit_wanted = B_FALSE; in vdev_autotrim_stop_wait()
1538 mutex_exit(&tvd->vdev_autotrim_lock); in vdev_autotrim_stop_wait()
1547 vdev_t *tvd; in vdev_autotrim_kick() local
1550 tvd = root_vd->vdev_child[i]; in vdev_autotrim_kick()
1552 mutex_enter(&tvd->vdev_autotrim_lock); in vdev_autotrim_kick()
1553 if (tvd->vdev_autotrim_thread != NULL) in vdev_autotrim_kick()
1554 cv_broadcast(&tvd->vdev_autotrim_kick_cv); in vdev_autotrim_kick()
1555 mutex_exit(&tvd->vdev_autotrim_lock); in vdev_autotrim_kick()