Lines Matching full:vio
20 #include "data-vio.h"
29 #include "vio.h"
94 struct pooled_vio *vio; member
194 get_page_buffer(info), &info->vio); in initialize_info()
199 info->vio->completion.callback_thread_id = cache->zone->thread_id; in initialize_info()
663 * @completion: The page read vio.
689 * @completion: The vio which has loaded the page. Its parent is the page_info.
753 struct vio *vio = bio->bi_private; in load_cache_page_endio() local
754 struct page_info *info = vio->completion.parent; in load_cache_page_endio()
756 continue_vio_after_io(vio, page_is_loaded, info->cache->zone->thread_id); in load_cache_page_endio()
785 vdo_submit_metadata_vio(info->vio, pbn, load_cache_page_endio, in launch_page_load()
804 struct vio *vio = bio->bi_private; in flush_endio() local
805 struct page_info *info = vio->completion.parent; in flush_endio()
807 continue_vio_after_io(vio, write_pages, info->cache->zone->thread_id); in flush_endio()
814 struct vio *vio; in save_pages() local
827 vio = info->vio; in save_pages()
834 vdo_submit_flush_vio(vio, flush_endio, handle_flush_error); in save_pages()
1001 * @completion: The page write vio.
1032 struct vio *vio = bio->bi_private; in write_cache_page_endio() local
1033 struct page_info *info = vio->completion.parent; in write_cache_page_endio()
1035 continue_vio_after_io(vio, page_is_written_out, info->cache->zone->thread_id); in write_cache_page_endio()
1040 * @completion: The vio which wrote the page. Its parent is a page_info.
1052 vdo_submit_metadata_vio(info->vio, info->pbn, in page_is_written_out()
1087 * @flush_completion: The flush vio.
1111 struct vdo_completion *completion = &info->vio->completion; in write_pages()
1120 vdo_submit_metadata_vio(info->vio, info->pbn, write_cache_page_endio, in write_pages()
1494 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio);
1545 static void return_to_pool(struct block_map_zone *zone, struct pooled_vio *vio) in return_to_pool() argument
1547 return_vio_to_pool(zone->vio_pool, vio); in return_to_pool()
1555 struct vio *vio = as_vio(completion); in finish_page_write() local
1556 struct pooled_vio *pooled = container_of(vio, struct pooled_vio, vio); in finish_page_write()
1601 struct vio *vio = as_vio(completion); in handle_write_error() local
1602 struct pooled_vio *pooled = container_of(vio, struct pooled_vio, vio); in handle_write_error()
1605 vio_record_metadata_io_error(vio); in handle_write_error()
1614 struct vio *vio = as_vio(completion); in write_initialized_page() local
1615 struct pooled_vio *pooled = container_of(vio, struct pooled_vio, vio); in write_initialized_page()
1618 struct block_map_page *page = (struct block_map_page *) vio->data; in write_initialized_page()
1630 vdo_submit_metadata_vio(vio, vdo_get_block_map_page_pbn(page), in write_initialized_page()
1637 struct pooled_vio *vio = bio->bi_private; in write_page_endio() local
1638 struct block_map_zone *zone = vio->context; in write_page_endio()
1639 struct block_map_page *page = (struct block_map_page *) vio->vio.data; in write_page_endio()
1641 continue_vio_after_io(&vio->vio, in write_page_endio()
1647 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio) in write_page() argument
1649 struct vdo_completion *completion = &vio->vio.completion; in write_page()
1650 struct block_map_zone *zone = vio->context; in write_page()
1660 return_to_pool(zone, vio); in write_page()
1665 memcpy(vio->vio.data, tree_page->page_buffer, VDO_BLOCK_SIZE); in write_page()
1676 * We've already copied the page into the vio which will write it, so if it was not yet in write_page()
1687 vdo_submit_metadata_vio(&vio->vio, vdo_get_block_map_page_pbn(page), in write_page()
1718 data_vio->vio.completion.error_handler = handle_data_vio_error; in finish_lookup()
1826 struct vio *vio = as_vio(completion); in finish_block_map_page_load() local
1827 struct pooled_vio *pooled = vio_as_pooled_vio(vio); in finish_block_map_page_load()
1838 if (!vdo_copy_valid_page(vio->data, nonce, pbn, page)) in finish_block_map_page_load()
1851 struct vio *vio = as_vio(completion); in handle_io_error() local
1852 struct pooled_vio *pooled = container_of(vio, struct pooled_vio, vio); in handle_io_error()
1856 vio_record_metadata_io_error(vio); in handle_io_error()
1863 struct vio *vio = bio->bi_private; in load_page_endio() local
1864 struct data_vio *data_vio = vio->completion.parent; in load_page_endio()
1866 continue_vio_after_io(vio, finish_block_map_page_load, in load_page_endio()
1877 pooled->vio.completion.parent = data_vio; in load_page()
1878 vdo_submit_metadata_vio(&pooled->vio, pbn, load_page_endio, in load_page()
1919 /* Load a block map tree page from disk, for the next level in the data vio tree lock. */
2502 return_vio_to_pool(cursors->pool, vdo_forget(cursor->vio)); in finish_cursor()
2515 * @completion: The VIO doing a read or write.
2525 * @completion: The VIO doing the read.
2536 vdo_copy_valid_page(cursor->vio->vio.data, in finish_traversal_load()
2538 pbn_from_vio_bio(cursor->vio->vio.bio), page); in finish_traversal_load()
2544 struct vio *vio = bio->bi_private; in traversal_endio() local
2545 struct cursor *cursor = vio->completion.parent; in traversal_endio()
2547 continue_vio_after_io(vio, finish_traversal_load, in traversal_endio()
2610 vdo_submit_metadata_vio(&cursor->vio->vio, location.pbn, in traverse()
2621 * launch_cursor() - Start traversing a single block map tree now that the cursor has a VIO with
2632 cursor->vio = pooled; in launch_cursor()
2633 pooled->vio.completion.parent = cursor; in launch_cursor()
2634 pooled->vio.completion.callback_thread_id = cursor->parent->zone->thread_id; in launch_cursor()
2830 free_vio(vdo_forget(info->vio)); in uninitialize_block_map_zone()
2945 /* Compute the logical zone for the LBN of a data vio. */
3089 modifiable, &data_vio->vio.completion, in fetch_mapping_page()
3146 * A read VIO has no option but to report the bad mapping--reading zeros would be hiding in set_mapped_location()
3153 * A write VIO only reads this mapping to decref the old block. Treat this as an unmapped in set_mapped_location()