Lines Matching refs:leaf
107 * enough time for a write to be attempted to each leaf vdev, and mmp_delay
154 * On average an mmp write will be issued for each leaf vdev every
183 * if it was set to 2, because a single leaf vdev pool will issue a write once
272 * Find a leaf vdev to write an MMP block to. It must not have an outstanding
274 * leaf, a nonzero error value is returned. The error value returned is a bit
277 * MMP_FAIL_WRITE_PENDING One or more leaf vdevs are writeable, but have an
279 * MMP_FAIL_NOT_WRITABLE One or more leaf vdevs are not writeable.
285 vdev_t *leaf;
299 leaf = spa->spa_mmp.mmp_last_leaf;
300 if (leaf == NULL)
301 leaf = list_head(&spa->spa_leaf_list);
302 starting_leaf = leaf;
305 leaf = list_next(&spa->spa_leaf_list, leaf);
306 if (leaf == NULL) {
307 leaf = list_head(&spa->spa_leaf_list);
308 ASSERT3P(leaf, !=, NULL);
317 if (!vdev_writeable(leaf) || leaf->vdev_offline ||
318 leaf->vdev_detached) {
320 } else if (leaf->vdev_ops == &vdev_draid_spare_ops) {
322 } else if (leaf->vdev_mmp_pending != 0) {
325 spa->spa_mmp.mmp_last_leaf = leaf;
328 } while (leaf != starting_leaf);
463 * suitable leaf vdev was available. See comment above struct
476 zfs_dbgmsg("MMP error choosing leaf pool '%s' "
489 "leaves, pool '%s' gethrtime %llu leaf %llu",
742 "Milliseconds between mmp writes to each leaf");