Lines Matching defs:data_vio

262  * continue_waiter() - Release a data_vio from the journal.
264 * Invoked whenever a data_vio is to be released from the journal, either because its entry was
1065 static void update_usages(struct recovery_journal *journal, struct data_vio *data_vio)
1067 if (data_vio->increment_updater.operation == VDO_JOURNAL_BLOCK_MAP_REMAPPING) {
1072 if (data_vio->new_mapped.state != VDO_MAPPING_STATE_UNMAPPED)
1075 if (data_vio->mapped.state != VDO_MAPPING_STATE_UNMAPPED)
1086 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1091 data_vio->recovery_journal_point = (struct journal_point) {
1096 update_usages(journal, data_vio);
1102 vdo_waitq_enqueue_waiter(&block->entry_waiters, &data_vio->waiter);
1173 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1179 &data_vio->recovery_journal_point),
1183 (unsigned long long) data_vio->recovery_journal_point.sequence_number,
1184 data_vio->recovery_journal_point.entry_count);
1186 journal->commit_point = data_vio->recovery_journal_point;
1187 data_vio->last_async_operation = VIO_ASYNC_OP_UPDATE_REFERENCE_COUNTS;
1189 continue_data_vio_with_error(data_vio, result);
1197 has_decrement = (data_vio->decrement_updater.zpbn.pbn != VDO_ZERO_BLOCK);
1198 if ((data_vio->increment_updater.zpbn.pbn != VDO_ZERO_BLOCK) || !has_decrement)
1199 continue_data_vio(data_vio);
1202 vdo_launch_completion(&data_vio->decrement_completion);
1331 struct data_vio *data_vio =
1333 struct tree_lock *lock = &data_vio->tree_lock;
1345 .pbn = data_vio->increment_updater.zpbn.pbn,
1346 .state = data_vio->increment_updater.zpbn.state,
1349 .pbn = data_vio->decrement_updater.zpbn.pbn,
1350 .state = data_vio->decrement_updater.zpbn.state,
1352 .operation = data_vio->increment_updater.operation,
1356 data_vio->recovery_sequence_number = block->sequence_number;
1358 /* Enqueue the data_vio to wait for its entry to commit. */
1359 vdo_waitq_enqueue_waiter(&block->commit_waiters, &data_vio->waiter);
1436 * @data_vio: The data_vio for which to add the entry. The entry will be taken
1437 * from the logical and new_mapped fields of the data_vio. The
1438 * data_vio's recovery_sequence_number field will be set to the
1442 * This method is asynchronous. The data_vio will not be called back until the entry is committed
1446 struct data_vio *data_vio)
1450 continue_data_vio_with_error(data_vio, VDO_INVALID_ADMIN_STATE);
1455 continue_data_vio_with_error(data_vio, VDO_READ_ONLY);
1459 VDO_ASSERT_LOG_ONLY(data_vio->recovery_sequence_number == 0,
1463 vdo_waitq_enqueue_waiter(&journal->entry_waiters, &data_vio->waiter);