提交 394e2e4c 编写于 作者: K KONRAD Frederic 提交者: Anthony Liguori

virtio-scsi: don't use pointer for configuration.

The configuration field must not be a pointer as it will be used for virtio-scsi
properties. So *conf is replaced by conf.
Signed-off-by: NKONRAD Frederic <fred.konrad@greensocs.com>
Reviewed-by: NCornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1363875320-7985-2-git-send-email-fred.konrad@greensocs.com
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 2fd1a053
...@@ -237,7 +237,7 @@ static void virtio_scsi_save_request(QEMUFile *f, SCSIRequest *sreq) ...@@ -237,7 +237,7 @@ static void virtio_scsi_save_request(QEMUFile *f, SCSIRequest *sreq)
VirtIOSCSIReq *req = sreq->hba_private; VirtIOSCSIReq *req = sreq->hba_private;
uint32_t n = virtio_queue_get_id(req->vq) - 2; uint32_t n = virtio_queue_get_id(req->vq) - 2;
assert(n < req->dev->conf->num_queues); assert(n < req->dev->conf.num_queues);
qemu_put_be32s(f, &n); qemu_put_be32s(f, &n);
qemu_put_buffer(f, (unsigned char *)&req->elem, sizeof(req->elem)); qemu_put_buffer(f, (unsigned char *)&req->elem, sizeof(req->elem));
} }
...@@ -251,7 +251,7 @@ static void *virtio_scsi_load_request(QEMUFile *f, SCSIRequest *sreq) ...@@ -251,7 +251,7 @@ static void *virtio_scsi_load_request(QEMUFile *f, SCSIRequest *sreq)
req = g_malloc(sizeof(*req)); req = g_malloc(sizeof(*req));
qemu_get_be32s(f, &n); qemu_get_be32s(f, &n);
assert(n < s->conf->num_queues); assert(n < s->conf.num_queues);
qemu_get_buffer(f, (unsigned char *)&req->elem, sizeof(req->elem)); qemu_get_buffer(f, (unsigned char *)&req->elem, sizeof(req->elem));
virtio_scsi_parse_req(s, s->cmd_vqs[n], req); virtio_scsi_parse_req(s, s->cmd_vqs[n], req);
...@@ -513,10 +513,10 @@ static void virtio_scsi_get_config(VirtIODevice *vdev, ...@@ -513,10 +513,10 @@ static void virtio_scsi_get_config(VirtIODevice *vdev,
VirtIOSCSIConfig *scsiconf = (VirtIOSCSIConfig *)config; VirtIOSCSIConfig *scsiconf = (VirtIOSCSIConfig *)config;
VirtIOSCSI *s = (VirtIOSCSI *)vdev; VirtIOSCSI *s = (VirtIOSCSI *)vdev;
stl_raw(&scsiconf->num_queues, s->conf->num_queues); stl_raw(&scsiconf->num_queues, s->conf.num_queues);
stl_raw(&scsiconf->seg_max, 128 - 2); stl_raw(&scsiconf->seg_max, 128 - 2);
stl_raw(&scsiconf->max_sectors, s->conf->max_sectors); stl_raw(&scsiconf->max_sectors, s->conf.max_sectors);
stl_raw(&scsiconf->cmd_per_lun, s->conf->cmd_per_lun); stl_raw(&scsiconf->cmd_per_lun, s->conf.cmd_per_lun);
stl_raw(&scsiconf->event_info_size, sizeof(VirtIOSCSIEvent)); stl_raw(&scsiconf->event_info_size, sizeof(VirtIOSCSIEvent));
stl_raw(&scsiconf->sense_size, s->sense_size); stl_raw(&scsiconf->sense_size, s->sense_size);
stl_raw(&scsiconf->cdb_size, s->cdb_size); stl_raw(&scsiconf->cdb_size, s->cdb_size);
...@@ -698,7 +698,7 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf) ...@@ -698,7 +698,7 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf)
sizeof(VirtIOSCSIConfig), sz); sizeof(VirtIOSCSIConfig), sz);
s->qdev = dev; s->qdev = dev;
s->conf = proxyconf; s->conf = *proxyconf;
/* TODO set up vdev function pointers */ /* TODO set up vdev function pointers */
s->vdev.get_config = virtio_scsi_get_config; s->vdev.get_config = virtio_scsi_get_config;
...@@ -710,7 +710,7 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf) ...@@ -710,7 +710,7 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf)
virtio_scsi_handle_ctrl); virtio_scsi_handle_ctrl);
s->event_vq = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE, s->event_vq = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE,
virtio_scsi_handle_event); virtio_scsi_handle_event);
for (i = 0; i < s->conf->num_queues; i++) { for (i = 0; i < s->conf.num_queues; i++) {
s->cmd_vqs[i] = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE, s->cmd_vqs[i] = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE,
virtio_scsi_handle_cmd); virtio_scsi_handle_cmd);
} }
......
...@@ -35,7 +35,7 @@ struct VirtIOSCSIConf { ...@@ -35,7 +35,7 @@ struct VirtIOSCSIConf {
typedef struct VirtIOSCSI { typedef struct VirtIOSCSI {
VirtIODevice vdev; VirtIODevice vdev;
DeviceState *qdev; DeviceState *qdev;
VirtIOSCSIConf *conf; VirtIOSCSIConf conf;
SCSIBus bus; SCSIBus bus;
uint32_t sense_size; uint32_t sense_size;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册