Lines Matching defs:data_vio
26 /* Each user data_vio needs a PBN read lock and write lock. */
91 * data_vio write locks are downgraded in place--the writer retains the hold on the lock.
477 * @allocation: The struct allocation of the data_vio attempting to allocate.
522 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
525 data_vio->allocation.wait_for_clean_slab = false;
526 data_vio->allocation.first_allocation_zone = data_vio->allocation.zone->zone_number;
527 continue_data_vio(data_vio);
533 * @data_vio: The data_vio attempting to get an allocation.
539 static bool continue_allocating(struct data_vio *data_vio)
541 struct allocation *allocation = &data_vio->allocation;
543 struct vdo_completion *completion = &data_vio->vio.completion;
560 data_vio->waiter.callback = retry_allocation;
562 &data_vio->waiter);
583 * @data_vio: The data_vio needing an allocation.
585 * Return: true if a block was allocated, if not the data_vio will have been dispatched so the
588 bool vdo_allocate_block_in_zone(struct data_vio *data_vio)
590 int result = allocate_and_lock_block(&data_vio->allocation);
595 if ((result != VDO_NO_SPACE) || !continue_allocating(data_vio))
596 continue_data_vio_with_error(data_vio, result);