Home
last modified time | relevance | path

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

/linux/drivers/md/dm-vdo/
H A Ddump.c155 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 Ddedupe.c262 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 Dlogical-zone.c227 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 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,
H 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);
H 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);
H A Dpacker.h71 struct data_vio *incoming[];
108 void vdo_attempt_packing(struct data_vio *data_vio);
H A Dio-submitter.h25 void vdo_submit_data_vio(struct data_vio *data_vio);
H A Dphysical-zone.h107 bool __must_check vdo_allocate_block_in_zone(struct data_vio *data_vio);
H A Drecovery-journal.h286 struct data_vio *data_vio);
H A Dtypes.h332 struct data_vio;
/linux/Documentation/admin-guide/device-mapper/
H 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
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 …]