SCL_CONFIG
spa_config_enter(zcb->zcb_spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(zcb->zcb_spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_READER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_WRITER);
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG | SCL_STATE, FTAG, RW_READER);
ASSERT(spa_config_held(spa, SCL_CONFIG | SCL_STATE, RW_READER) ==
(SCL_CONFIG | SCL_STATE));
spa_config_exit(spa, SCL_CONFIG | SCL_STATE, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_held(spa, SCL_CONFIG, RW_WRITER) != SCL_CONFIG)
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_WRITER) ||
spa_config_held(spa, SCL_CONFIG, RW_READER)));
ASSERT(spa_config_held(spa, SCL_CONFIG, RW_WRITER) ||
spa_config_held(spa, SCL_CONFIG, RW_READER)));
ASSERT(spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_READER) ||
spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_WRITER));
ASSERT(spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_READER) ||
spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_WRITER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
ASSERT(!spa_config_held(vd->vdev_spa, SCL_CONFIG|SCL_STATE, RW_WRITER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
ASSERT(spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_READER) ||
spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_WRITER));
ASSERT(spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_READER) ||
spa_config_held(vd->vdev_spa, SCL_CONFIG, RW_WRITER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
spa_config_exit(spa, SCL_CONFIG, FTAG);
ASSERT(!spa_config_held(vd->vdev_spa, SCL_CONFIG|SCL_STATE, RW_WRITER));
spa_config_enter(spa, SCL_CONFIG, FTAG, RW_WRITER);
spa_config_exit(spa, SCL_CONFIG, FTAG);