MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vdev_initialize

Function vdev_initialize

freebsd/contrib/openzfs/module/zfs/vdev_initialize.c:590–604  ·  view source on GitHub ↗

* Initiates a device. Caller must hold vdev_initialize_lock. * Device must be a leaf and not already be initializing. */

Source from the content-addressed store, hash-verified

588 * Device must be a leaf and not already be initializing.
589 */
590void
591vdev_initialize(vdev_t *vd)
592{
593 ASSERT(MUTEX_HELD(&vd->vdev_initialize_lock));
594 ASSERT(vd->vdev_ops->vdev_op_leaf);
595 ASSERT(vdev_is_concrete(vd));
596 ASSERT3P(vd->vdev_initialize_thread, ==, NULL);
597 ASSERT(!vd->vdev_detached);
598 ASSERT(!vd->vdev_initialize_exit_wanted);
599 ASSERT(!vd->vdev_top->vdev_removing);
600
601 vdev_initialize_change_state(vd, VDEV_INITIALIZE_ACTIVE);
602 vd->vdev_initialize_thread = thread_create(NULL, 0,
603 vdev_initialize_thread, vd, 0, &p0, TS_RUN, maxclsyspri);
604}
605
606/*
607 * Wait for the initialize thread to be terminated (cancelled or stopped).

Callers 3

vdev_initialize_restartFunction · 0.85
vdev_onlineFunction · 0.85
spa_vdev_initialize_implFunction · 0.85

Calls 3

vdev_is_concreteFunction · 0.85
thread_createFunction · 0.85

Tested by

no test coverage detected