#include <copy.h>

Data Fields | |
| struct block_device * | source |
| Source of the copy operation. | |
| struct block_device * | target |
| Target of the copy operation. | |
| block_addr_t | source_start |
| First block of the source to copy from. | |
| block_addr_t | target_start |
| First block of the target to copy to. | |
| uint32_t | length |
| Number of blocks to copy. | |
| uint32_t | total_blocks_copied |
| Number of blocks copied so far (passed to callbacks). | |
| int | status |
| Status of the copy operation. | |
| int | source_status |
| Status of the copy operation on source. | |
| int | dest_status |
| Status of the copy operation on destination. | |
| void(* | completion_callback )(struct block_copy_request *req, uint32_t blocks_copied, void *data) |
| Callback called when the operation is completed. | |
| void(* | progress_callback )(struct block_copy_request *req, uint32_t blocks_copied, void *data) |
| Callback called after each successful write operation. | |
| void * | data |
| Data passed to the callback. | |
| struct block_request * | read_req |
| Block request used when reading from source. | |
| struct block_request * | write_req |
| Block request used when writing to target. | |
| struct slist | buffer_list |
| List of buffers used for the transfer. | |
| uint32_t | blocks_allocated |
| Total number of blocks allocated as buffers. | |
| size_t | block_size |
| Block size of the devices (must match). | |
| size_t | blocks_pr_buf |
| Numbers of blocks that fit into one buffer. | |
| struct workqueue_item | work |
| Workqueue item used when adding work to the workqueue. | |
Definition at line 59 of file copy.h.
Block size of the devices (must match).
Definition at line 95 of file copy.h.
Referenced by block_copy_alloc(), block_copy_set_dest(), and block_copy_set_source().
| uint32_t block_copy_request::blocks_allocated |
Total number of blocks allocated as buffers.
Definition at line 93 of file copy.h.
Referenced by block_copy_alloc().
Numbers of blocks that fit into one buffer.
Definition at line 97 of file copy.h.
Referenced by block_copy_alloc().
struct slist block_copy_request::buffer_list [read] |
List of buffers used for the transfer.
Definition at line 91 of file copy.h.
Referenced by block_copy_alloc(), and block_copy_free().
| void(* block_copy_request::completion_callback)(struct block_copy_request *req, uint32_t blocks_copied, void *data) |
Callback called when the operation is completed.
Referenced by block_copy_set_completion_callback().
| void* block_copy_request::data |
Data passed to the callback.
Definition at line 85 of file copy.h.
Referenced by block_copy_alloc().
| uint32_t block_copy_request::length |
| void(* block_copy_request::progress_callback)(struct block_copy_request *req, uint32_t blocks_copied, void *data) |
Callback called after each successful write operation.
Referenced by block_copy_set_progress_callback().
struct block_request* block_copy_request::read_req [read] |
Block request used when reading from source.
Definition at line 87 of file copy.h.
Referenced by block_copy_free(), block_copy_set_source(), and block_copy_submit().
struct block_device* block_copy_request::source [read] |
Source of the copy operation.
Definition at line 61 of file copy.h.
Referenced by block_copy_free(), block_copy_set_source(), and block_copy_submit().
First block of the source to copy from.
Definition at line 65 of file copy.h.
Referenced by block_copy_set_source().
struct block_device* block_copy_request::target [read] |
Target of the copy operation.
Definition at line 63 of file copy.h.
Referenced by block_copy_free(), block_copy_set_dest(), and block_copy_submit().
First block of the target to copy to.
Definition at line 67 of file copy.h.
Referenced by block_copy_set_dest().
Number of blocks copied so far (passed to callbacks).
Definition at line 71 of file copy.h.
Referenced by block_copy_submit().
struct workqueue_item block_copy_request::work [read] |
struct block_request* block_copy_request::write_req [read] |
Block request used when writing to target.
Definition at line 89 of file copy.h.
Referenced by block_copy_free(), block_copy_set_dest(), and block_copy_submit().
1.5.8