mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
xen-block: handle resize callback
Some frontend drivers will handle dynamic resizing of PV disks, so set up the BlockDevOps resize_cb() method during xen_block_realize() to allow this to be done. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
parent
67bc8e00f7
commit
3149f183d7
3 changed files with 38 additions and 7 deletions
|
@ -50,7 +50,6 @@ struct XenBlockDataPlane {
|
|||
unsigned int nr_ring_ref;
|
||||
void *sring;
|
||||
int64_t file_blk;
|
||||
int64_t file_size;
|
||||
int protocol;
|
||||
blkif_back_rings_t rings;
|
||||
int more_work;
|
||||
|
@ -189,7 +188,7 @@ static int xen_block_parse_request(XenBlockRequest *request)
|
|||
request->req.seg[i].first_sect + 1) * dataplane->file_blk;
|
||||
request->size += len;
|
||||
}
|
||||
if (request->start + request->size > dataplane->file_size) {
|
||||
if (request->start + request->size > blk_getlength(dataplane->blk)) {
|
||||
error_report("error: access beyond end of file");
|
||||
goto err;
|
||||
}
|
||||
|
@ -638,7 +637,6 @@ XenBlockDataPlane *xen_block_dataplane_create(XenDevice *xendev,
|
|||
dataplane->xendev = xendev;
|
||||
dataplane->file_blk = conf->logical_block_size;
|
||||
dataplane->blk = conf->blk;
|
||||
dataplane->file_size = blk_getlength(dataplane->blk);
|
||||
|
||||
QLIST_INIT(&dataplane->inflight);
|
||||
QLIST_INIT(&dataplane->freelist);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue