[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 1/8] virtio-blk: don't use pointer for configurat
From: |
fred . konrad |
Subject: |
[Qemu-devel] [PATCH v7 1/8] virtio-blk: don't use pointer for configuration. |
Date: |
Thu, 14 Mar 2013 17:04:26 +0100 |
From: KONRAD Frederic <address@hidden>
The configuration field must not be a pointer as it will be used for virtio-blk
properties. So *blk is replaced by blk in VirtIOBlock structure.
Signed-off-by: KONRAD Frederic <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
---
hw/virtio-blk.c | 8 ++++----
hw/virtio-blk.h | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index 6714b01..908c316 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -151,7 +151,7 @@ static void virtio_blk_handle_scsi(VirtIOBlockReq *req)
*/
req->scsi = (void *)req->elem.in_sg[req->elem.in_num - 2].iov_base;
- if (!req->dev->blk->scsi) {
+ if (!req->dev->blk.scsi) {
status = VIRTIO_BLK_S_UNSUPP;
goto fail;
}
@@ -371,7 +371,7 @@ static void virtio_blk_handle_request(VirtIOBlockReq *req,
* terminated by '\0' only when shorter than buffer.
*/
strncpy(req->elem.in_sg[0].iov_base,
- s->blk->serial ? s->blk->serial : "",
+ s->blk.serial ? s->blk.serial : "",
MIN(req->elem.in_sg[0].iov_len, VIRTIO_BLK_ID_BYTES));
virtio_blk_req_complete(req, VIRTIO_BLK_S_OK);
g_free(req);
@@ -534,7 +534,7 @@ static uint32_t virtio_blk_get_features(VirtIODevice *vdev,
uint32_t features)
features |= (1 << VIRTIO_BLK_F_BLK_SIZE);
features |= (1 << VIRTIO_BLK_F_SCSI);
- if (s->blk->config_wce) {
+ if (s->blk.config_wce) {
features |= (1 << VIRTIO_BLK_F_CONFIG_WCE);
}
if (bdrv_enable_write_cache(s->bs))
@@ -650,7 +650,7 @@ VirtIODevice *virtio_blk_init(DeviceState *dev,
VirtIOBlkConf *blk)
s->vdev.reset = virtio_blk_reset;
s->bs = blk->conf.bs;
s->conf = &blk->conf;
- s->blk = blk;
+ memcpy(&(s->blk), blk, sizeof(struct VirtIOBlkConf));
s->rq = NULL;
s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;
diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h
index 19ec569..b704d50 100644
--- a/hw/virtio-blk.h
+++ b/hw/virtio-blk.h
@@ -118,7 +118,7 @@ typedef struct VirtIOBlock {
void *rq;
QEMUBH *bh;
BlockConf *conf;
- VirtIOBlkConf *blk;
+ VirtIOBlkConf blk;
unsigned short sector_mask;
DeviceState *qdev;
VMChangeStateEntry *change;
--
1.7.11.7
- [Qemu-devel] [PATCH v7 0/8] virtio-blk refactoring., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 1/8] virtio-blk: don't use pointer for configuration.,
fred . konrad <=
- [Qemu-devel] [PATCH v7 2/8] virtio-blk: add the virtio-blk device., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 4/8] virtio-blk-s390: switch to the new API., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 5/8] virtio-blk-ccw switch to new API., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 3/8] virtio-blk-pci: switch to new API., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 6/8] virtio-blk: cleanup: init and exit functions., fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 7/8] virtio-blk: cleanup: QOM cast, fred . konrad, 2013/03/14
- [Qemu-devel] [PATCH v7 8/8] virtio-blk: cleanup: remove qdev field., fred . konrad, 2013/03/14
- Re: [Qemu-devel] [PATCH v7 0/8] virtio-blk refactoring., Anthony Liguori, 2013/03/14