Searched refs:data_vio (Results 1 – 12 of 12) sorted by relevance
/linux/drivers/md/dm-vdo/ |
H A D | dump.c | 155 struct data_vio *data_vio; in dump_vio_waiters() local 160 data_vio = vdo_waiter_as_data_vio(first); in dump_vio_waiters() 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() 167 data_vio = vdo_waiter_as_data_vio(waiter); in dump_vio_waiters() 169 data_vio, data_vio->allocation.pbn, data_vio->logical.lbn, in dump_vio_waiters() 170 data_vio->duplicate.pbn, in dump_vio_waiters() 171 get_data_vio_operation_name(data_vio)); 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 193 if (data_vio->vio.completion.result != VDO_SUCCESS) in encode_vio_dump_flags() [all …]
|
H A D | dedupe.c | 262 struct data_vio *agent; 358 struct pbn_lock *vdo_get_duplicate_lock(struct data_vio *data_vio) in vdo_get_duplicate_lock() argument 360 if (data_vio->hash_lock == NULL) in vdo_get_duplicate_lock() 363 return data_vio->hash_lock->duplicate_lock; in vdo_get_duplicate_lock() 396 static void assert_hash_lock_agent(struct data_vio *data_vio, const char *where) in assert_hash_lock_agent() argument 399 assert_data_vio_in_hash_zone(data_vio); in assert_hash_lock_agent() 400 VDO_ASSERT_LOG_ONLY(data_vio == data_vio->hash_lock->agent, in assert_hash_lock_agent() 424 static inline struct data_vio *dequeue_lock_waiter(struct hash_lock *lock) in dequeue_lock_waiter() 436 static void set_hash_lock(struct data_vio *data_vio, struct hash_lock *new_lock) in set_hash_lock() argument 438 struct hash_lock *old_lock = data_vio->hash_lock; in set_hash_lock() [all …]
|
H A D | logical-zone.c | 227 struct data_vio *data_vio = in update_oldest_active_generation() local 228 list_first_entry_or_null(&zone->write_vios, struct data_vio, in update_oldest_active_generation() 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() [all …]
|
H A D | dedupe.h | 26 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,
|
H A D | block-map.h | 323 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);
|
H A D | logical-zone.h | 81 void vdo_acquire_flush_generation_lock(struct data_vio *data_vio); 83 void vdo_release_flush_generation_lock(struct data_vio *data_vio);
|
H A D | packer.h | 71 struct data_vio *incoming[]; 108 void vdo_attempt_packing(struct data_vio *data_vio);
|
H A D | io-submitter.h | 25 void vdo_submit_data_vio(struct data_vio *data_vio);
|
H A D | physical-zone.h | 107 bool __must_check vdo_allocate_block_in_zone(struct data_vio *data_vio);
|
H A D | recovery-journal.h | 286 struct data_vio *data_vio);
|
H A D | types.h | 332 struct data_vio;
|
/linux/Documentation/admin-guide/device-mapper/ |
H A D | vdo-design.rst | 49 request object (the "data_vio") which will be added to a work queue when 196 The vio and data_vio Structures 208 called a data_vio to track information about their progress. A struct 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 211 primary unit of application work in vdo. Each data_vio proceeds through a 310 that are required for a data_vio. The recovery journal issues a flush 332 1. A data_vio is obtained from the data_vio pool and associated with the 334 will block until a data_vio is available. This provides back pressure 335 to the application. The data_vio pool is protected by a spin lock. [all …]
|