FreeBSD kernel /amd64 XEN device code
|
Data Fields | |
struct xbb_softc * | xbb |
int | operation |
int | status |
int | residual_512b_sectors |
off_t | starting_sector_number |
off_t | next_contig_sector |
int | num_children |
int | pendcnt |
int | nr_segments |
xbb_reqlist_flags | flags |
uint8_t * | kva |
uint64_t | gnt_base |
uint8_t * | bounce |
grant_handle_t * | gnt_handles |
devstat_tag_type | ds_tag_type |
devstat_trans_flags | ds_trans_type |
struct bintime | ds_t0 |
struct xbb_xen_req_list | contig_req_list |
uint8_t* xbb_xen_reqlist::bounce |
Pre-allocated domain local memory used to proxy remote domain memory during I/O operations.
Definition at line 265 of file blkback.c.
Referenced by xbb_alloc_request_lists(), xbb_bio_done(), xbb_disconnect(), xbb_dispatch_dev(), and xbb_reqlist_bounce_addr().
struct xbb_xen_req_list xbb_xen_reqlist::contig_req_list |
Linked list of contiguous requests with the same operation type.
Definition at line 291 of file blkback.c.
Referenced by xbb_complete_reqlist(), xbb_dispatch_io(), xbb_get_reqlist(), and xbb_release_reqlist().
struct bintime xbb_xen_reqlist::ds_t0 |
The start time for this request.
Definition at line 286 of file blkback.c.
Referenced by xbb_complete_reqlist(), and xbb_dispatch_io().
devstat_tag_type xbb_xen_reqlist::ds_tag_type |
Device statistics request ordering type (ordered or simple).
Definition at line 276 of file blkback.c.
Referenced by xbb_complete_reqlist(), and xbb_dispatch_io().
devstat_trans_flags xbb_xen_reqlist::ds_trans_type |
Device statistics request type (read, write, no_data).
Definition at line 281 of file blkback.c.
Referenced by xbb_complete_reqlist(), and xbb_dispatch_io().
xbb_reqlist_flags xbb_xen_reqlist::flags |
Flags for this particular request list.
Definition at line 245 of file blkback.c.
Referenced by xbb_complete_reqlist(), xbb_dispatch_io(), and xbb_get_reqlist().
uint64_t xbb_xen_reqlist::gnt_base |
grant_handle_t* xbb_xen_reqlist::gnt_handles |
Array of grant handles (one per page) used to map this request.
Definition at line 271 of file blkback.c.
Referenced by xbb_alloc_request_lists(), xbb_disconnect(), xbb_dispatch_io(), and xbb_unmap_reqlist().
uint8_t* xbb_xen_reqlist::kva |
Kernel virtual address space reserved for this request list structure and used to map the remote domain's pages for this I/O, into our domain's address space.
Definition at line 252 of file blkback.c.
Referenced by xbb_bio_done(), xbb_dispatch_dev(), xbb_dispatch_io(), xbb_get_gntaddr(), xbb_get_reqlist(), xbb_release_reqlist(), and xbb_reqlist_vaddr().
off_t xbb_xen_reqlist::next_contig_sector |
If we're going to coalesce, the next contiguous sector would be this one.
Definition at line 225 of file blkback.c.
Referenced by xbb_run_queue().
int xbb_xen_reqlist::nr_segments |
Total number of segments for requests in the list.
Definition at line 240 of file blkback.c.
Referenced by xbb_dispatch_dev(), xbb_dispatch_file(), xbb_dispatch_io(), xbb_get_reqlist(), xbb_release_reqlist(), xbb_run_queue(), and xbb_unmap_reqlist().
int xbb_xen_reqlist::num_children |
Number of child requests in the list.
Definition at line 230 of file blkback.c.
Referenced by xbb_get_reqlist(), and xbb_release_reqlist().
int xbb_xen_reqlist::operation |
BLKIF_OP code for this request.
Definition at line 198 of file blkback.c.
Referenced by xbb_dispatch_io(), xbb_get_resources(), and xbb_run_queue().
int xbb_xen_reqlist::pendcnt |
Number of I/O requests still pending on the backend.
Definition at line 235 of file blkback.c.
Referenced by xbb_bio_done(), and xbb_dispatch_dev().
int xbb_xen_reqlist::residual_512b_sectors |
Number of 512 byte sectors not transferred.
Definition at line 214 of file blkback.c.
Referenced by xbb_bio_done(), xbb_complete_reqlist(), and xbb_get_reqlist().
off_t xbb_xen_reqlist::starting_sector_number |
Starting sector number of the first request in the list.
Definition at line 219 of file blkback.c.
Referenced by xbb_dispatch_dev(), xbb_dispatch_file(), xbb_dispatch_io(), and xbb_get_resources().
int xbb_xen_reqlist::status |
Set to BLKIF_RSP_* to indicate request status.
This field allows an error status to be recorded even if the delivery of this status must be deferred. Deferred reporting is necessary, for example, when an error is detected during completion processing of one bio when other bios for this request are still outstanding.
Definition at line 209 of file blkback.c.
Referenced by xbb_bio_done(), xbb_complete_reqlist(), xbb_dispatch_file(), xbb_dispatch_io(), and xbb_get_reqlist().
struct xbb_softc* xbb_xen_reqlist::xbb |
Back reference to the parent block back instance for this request. Used during bio_done handling.
Definition at line 193 of file blkback.c.
Referenced by xbb_alloc_request_lists(), xbb_bio_done(), xbb_disconnect(), xbb_dispatch_io(), xbb_get_gntaddr(), xbb_get_reqlist(), xbb_release_reqlist(), and xbb_run_queue().