Home
last modified time | relevance | path

Searched refs:data_vio (Results 1 – 20 of 20) sorted by relevance

/linux/drivers/md/dm-vdo/
A Ddata-vio.h176 struct data_vio { struct
318 static inline bool data_vio_has_allocation(struct data_vio *data_vio) in data_vio_has_allocation() argument
324 advance_data_vio_compression_stage(struct data_vio *data_vio);
326 get_data_vio_compression_status(struct data_vio *data_vio);
327 bool cancel_data_vio_compression(struct data_vio *data_vio);
351 static inline void continue_data_vio(struct data_vio *data_vio) in continue_data_vio() argument
654 void data_vio_allocate_data_block(struct data_vio *data_vio,
660 int __must_check uncompress_data_vio(struct data_vio *data_vio,
664 void update_metadata_for_data_vio_write(struct data_vio *data_vio,
666 void write_data_vio(struct data_vio *data_vio);
[all …]
A Ddata-vio.c613 struct data_vio *data_vio = in get_available_data_vio() local
671 struct data_vio *data_vio, in reuse_or_release_resources() argument
720 struct data_vio *data_vio; in process_release_callback() local
875 struct data_vio *data_vio = &pool->data_vios[i]; in make_data_vio_pool() local
898 struct data_vio *data_vio, *tmp; in free_data_vio_pool() local
962 struct data_vio *data_vio; in vdo_launch_bio() local
1295 data_vio->read = data_vio->is_partial; in finish_cleanup()
1444 int uncompress_data_vio(struct data_vio *data_vio, in uncompress_data_vio() argument
1652 struct data_vio *data_vio = container_of(completion, struct data_vio, in decrement_reference_count() local
1887 void write_data_vio(struct data_vio *data_vio) in write_data_vio() argument
[all …]
A Ddump.c155 struct data_vio *data_vio; in dump_vio_waiters() local
163 wait_on, data_vio, data_vio->allocation.pbn, data_vio->logical.lbn, in dump_vio_waiters()
164 data_vio->duplicate.pbn, get_data_vio_operation_name(data_vio)); in dump_vio_waiters()
169 data_vio, data_vio->allocation.pbn, data_vio->logical.lbn, in dump_vio_waiters()
189 static void encode_vio_dump_flags(struct data_vio *data_vio, char buffer[8]) in encode_vio_dump_flags() argument
199 if (data_vio->is_partial) in encode_vio_dump_flags()
201 if (data_vio->is_zero) in encode_vio_dump_flags()
215 struct data_vio *data_vio = data; in dump_data_vio() local
239 data_vio->allocation.pbn, data_vio->logical.lbn, in dump_data_vio()
244 data_vio->allocation.pbn, data_vio->logical.lbn); in dump_data_vio()
[all …]
A Dpacker.c240 static void abort_packing(struct data_vio *data_vio) in abort_packing() argument
257 static void release_compressed_write_waiter(struct data_vio *data_vio, in release_compressed_write_waiter() argument
325 static void add_to_bin(struct packer_bin *bin, struct data_vio *data_vio) in add_to_bin() argument
343 struct data_vio *data_vio = bin->incoming[--bin->slots_used]; in remove_from_bin() local
347 return data_vio; in remove_from_bin()
391 struct data_vio *data_vio, in pack_fragment() argument
412 struct data_vio *data_vio = vio_as_data_vio(bio->bi_private); in compressed_write_end_io() local
500 struct data_vio *data_vio) in add_data_vio_to_packer_bin() argument
525 struct data_vio *data_vio) in select_bin() argument
563 void vdo_attempt_packing(struct data_vio *data_vio) in vdo_attempt_packing() argument
[all …]
A Ddedupe.c492 static void exit_hash_lock(struct data_vio *data_vio) in exit_hash_lock() argument
816 struct data_vio *agent = data_vio; in finish_deduping()
990 data_vio->new_mapped = data_vio->duplicate; in launch_dedupe()
1509 struct data_vio *data_vio; in select_writing_agent() local
1600 struct data_vio *data_vio = context->requestor; in decode_uds_advice() local
1740 struct data_vio *data_vio = as_data_vio(completion); in vdo_continue_hash_lock() local
1837 struct data_vio *data_vio = as_data_vio(completion); in vdo_acquire_hash_lock() local
1909 void vdo_release_hash_lock(struct data_vio *data_vio) in vdo_release_hash_lock() argument
1971 data_vio->duplicate = data_vio->new_mapped; in transfer_allocation_lock()
2008 data_vio->duplicate = data_vio->new_mapped; in vdo_share_compressed_write_lock()
[all …]
A Dblock-map.c1777 struct data_vio *data_vio);
1830 struct data_vio *data_vio = completion->parent; in finish_block_map_page_load() local
1855 struct data_vio *data_vio = completion->parent; in handle_io_error() local
1866 struct data_vio *data_vio = vio->completion.parent; in load_page_endio() local
1940 struct data_vio *data_vio = as_data_vio(completion); in allocation_failure() local
2073 struct data_vio *data_vio = as_data_vio(completion); in finish_block_map_allocation() local
2191 struct data_vio *data_vio) in allocate_block_map_page() argument
2195 if (!data_vio->write || data_vio->is_discard) { in allocate_block_map_page()
3255 data_vio, data_vio->new_mapped.pbn, in put_mapping_in_fetched_page()
3264 void vdo_get_mapped_block(struct data_vio *data_vio) in vdo_get_mapped_block() argument
[all …]
A Ddedupe.h26 struct data_vio *requestor;
72 struct pbn_lock * __must_check vdo_get_duplicate_lock(struct data_vio *data_vio);
76 void vdo_release_hash_lock(struct data_vio *data_vio);
77 void vdo_clean_failed_hash_lock(struct data_vio *data_vio);
78 void vdo_share_compressed_write_lock(struct data_vio *data_vio,
A Dlogical-zone.c227 struct data_vio *data_vio = in update_oldest_active_generation() local
231 (data_vio == NULL) ? zone->flush_generation : data_vio->flush_generation; in update_oldest_active_generation()
265 void vdo_acquire_flush_generation_lock(struct data_vio *data_vio) in vdo_acquire_flush_generation_lock() argument
267 struct logical_zone *zone = data_vio->logical.zone; in vdo_acquire_flush_generation_lock()
272 data_vio->flush_generation = zone->flush_generation; in vdo_acquire_flush_generation_lock()
273 list_add_tail(&data_vio->write_entry, &zone->write_vios); in vdo_acquire_flush_generation_lock()
325 void vdo_release_flush_generation_lock(struct data_vio *data_vio) in vdo_release_flush_generation_lock() argument
327 struct logical_zone *zone = data_vio->logical.zone; in vdo_release_flush_generation_lock()
331 if (!data_vio_has_flush_generation_lock(data_vio)) in vdo_release_flush_generation_lock()
334 list_del_init(&data_vio->write_entry); in vdo_release_flush_generation_lock()
[all …]
A Dphysical-zone.c522 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter); in retry_allocation() local
525 data_vio->allocation.wait_for_clean_slab = false; in retry_allocation()
526 data_vio->allocation.first_allocation_zone = data_vio->allocation.zone->zone_number; in retry_allocation()
527 continue_data_vio(data_vio); in retry_allocation()
539 static bool continue_allocating(struct data_vio *data_vio) in continue_allocating() argument
541 struct allocation *allocation = &data_vio->allocation; in continue_allocating()
560 data_vio->waiter.callback = retry_allocation; in continue_allocating()
562 &data_vio->waiter); in continue_allocating()
588 bool vdo_allocate_block_in_zone(struct data_vio *data_vio) in vdo_allocate_block_in_zone() argument
590 int result = allocate_and_lock_block(&data_vio->allocation); in vdo_allocate_block_in_zone()
[all …]
A Dblock-map.h323 void vdo_find_block_map_slot(struct data_vio *data_vio);
358 zone_count_t vdo_compute_logical_zone(struct data_vio *data_vio);
363 void vdo_update_block_map_page(struct block_map_page *page, struct data_vio *data_vio,
368 void vdo_get_mapped_block(struct data_vio *data_vio);
370 void vdo_put_mapped_block(struct data_vio *data_vio);
A Drecovery-journal.c1065 static void update_usages(struct recovery_journal *journal, struct data_vio *data_vio) in update_usages() argument
1086 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter); in assign_entry() local
1096 update_usages(journal, data_vio); in assign_entry()
1173 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter); in continue_committed_waiter() local
1179 &data_vio->recovery_journal_point), in continue_committed_waiter()
1199 continue_data_vio(data_vio); in continue_committed_waiter()
1331 struct data_vio *data_vio = in add_queued_recovery_entries() local
1333 struct tree_lock *lock = &data_vio->tree_lock; in add_queued_recovery_entries()
1345 .pbn = data_vio->increment_updater.zpbn.pbn, in add_queued_recovery_entries()
1349 .pbn = data_vio->decrement_updater.zpbn.pbn, in add_queued_recovery_entries()
[all …]
A Dlogical-zone.h81 void vdo_acquire_flush_generation_lock(struct data_vio *data_vio);
83 void vdo_release_flush_generation_lock(struct data_vio *data_vio);
A Dpacker.h71 struct data_vio *incoming[];
108 void vdo_attempt_packing(struct data_vio *data_vio);
A Dio-submitter.h25 void vdo_submit_data_vio(struct data_vio *data_vio);
A Dphysical-zone.h107 bool __must_check vdo_allocate_block_in_zone(struct data_vio *data_vio);
A Dio-submitter.c314 void vdo_submit_data_vio(struct data_vio *data_vio) in vdo_submit_data_vio() argument
316 if (try_bio_map_merge(&data_vio->vio)) in vdo_submit_data_vio()
319 launch_data_vio_bio_zone_callback(data_vio, submit_data_vio); in vdo_submit_data_vio()
A Drecovery-journal.h286 struct data_vio *data_vio);
A Dtypes.h332 struct data_vio;
A Dslab-depot.c1694 struct data_vio *data_vio = data_vio_from_reference_updater(updater); in add_entry_from_waiter() local
1701 sequence_number_t recovery_block = data_vio->recovery_journal_point.sequence_number; in add_entry_from_waiter()
1723 expand_journal_point(data_vio->recovery_journal_point, in add_entry_from_waiter()
1741 continue_data_vio_with_error(data_vio, result); in add_entry_from_waiter()
1743 vdo_continue_completion(&data_vio->decrement_completion, result); in add_entry_from_waiter()
3067 struct data_vio *data_vio = data_vio_from_reference_updater(updater); in abort_waiter() local
3070 continue_data_vio_with_error(data_vio, VDO_READ_ONLY); in abort_waiter()
3074 vdo_continue_completion(&data_vio->decrement_completion, VDO_READ_ONLY); in abort_waiter()
/linux/Documentation/admin-guide/device-mapper/
A Dvdo-design.rst49 request object (the "data_vio") which will be added to a work queue when
196 The vio and data_vio Structures
209 data_vio contain a struct vio and also includes several other fields
210 related to deduplication and other vdo features. The data_vio is the
332 1. A data_vio is obtained from the data_vio pool and associated with the
350 the logical address and the value is a pointer to the data_vio
353 If a data_vio looks in the hashtable and finds that another data_vio is
361 This stage requires the data_vio to get an implicit lock on the
431 recorded in the data_vio.
580 acknowledged, and the data_vio is returned to the pool.
[all …]

Completed in 78 milliseconds