Revision eabba580 block/qed.h
b/block/qed.h | ||
---|---|---|
116 | 116 |
CachedL2Table *l2_table; |
117 | 117 |
} QEDRequest; |
118 | 118 |
|
119 |
typedef struct QEDAIOCB { |
|
120 |
BlockDriverAIOCB common; |
|
121 |
QEMUBH *bh; |
|
122 |
int bh_ret; /* final return status for completion bh */ |
|
123 |
QSIMPLEQ_ENTRY(QEDAIOCB) next; /* next request */ |
|
124 |
bool is_write; /* false - read, true - write */ |
|
125 |
bool *finished; /* signal for cancel completion */ |
|
126 |
uint64_t end_pos; /* request end on block device, in bytes */ |
|
127 |
|
|
128 |
/* User scatter-gather list */ |
|
129 |
QEMUIOVector *qiov; |
|
130 |
size_t qiov_offset; /* byte count already processed */ |
|
131 |
|
|
132 |
/* Current cluster scatter-gather list */ |
|
133 |
QEMUIOVector cur_qiov; |
|
134 |
uint64_t cur_pos; /* position on block device, in bytes */ |
|
135 |
uint64_t cur_cluster; /* cluster offset in image file */ |
|
136 |
unsigned int cur_nclusters; /* number of clusters being accessed */ |
|
137 |
int find_cluster_ret; /* used for L1/L2 update */ |
|
138 |
|
|
139 |
QEDRequest request; |
|
140 |
} QEDAIOCB; |
|
141 |
|
|
119 | 142 |
typedef struct { |
120 | 143 |
BlockDriverState *bs; /* device */ |
121 | 144 |
uint64_t file_size; /* length of image file, in bytes */ |
... | ... | |
127 | 150 |
uint32_t l1_shift; |
128 | 151 |
uint32_t l2_shift; |
129 | 152 |
uint32_t l2_mask; |
153 |
|
|
154 |
/* Allocating write request queue */ |
|
155 |
QSIMPLEQ_HEAD(, QEDAIOCB) allocating_write_reqs; |
|
130 | 156 |
} BDRVQEDState; |
131 | 157 |
|
132 | 158 |
enum { |
Also available in: Unified diff