[SLOF] [PATCH] virtio: Remove global variables in block and 9p driver
Laurent Vivier
lvivier at redhat.com
Wed Jan 18 18:57:15 AEDT 2017
On 17/01/2017 14:16, Thomas Huth wrote:
> No need for a global variable to store the virtqueue information here,
> thus let's remove the global vq variable and make it local to the
> init function instead.
>
> Signed-off-by: Thomas Huth <thuth at redhat.com>
Reviewed-by: Laurent Vivier <lvivier at redhat.com>
> ---
> lib/libvirtio/virtio-9p.c | 9 +++------
> lib/libvirtio/virtio-blk.c | 9 +++------
> 2 files changed, 6 insertions(+), 12 deletions(-)
>
> diff --git a/lib/libvirtio/virtio-9p.c b/lib/libvirtio/virtio-9p.c
> index 6e9c379..fb329b3 100644
> --- a/lib/libvirtio/virtio-9p.c
> +++ b/lib/libvirtio/virtio-9p.c
> @@ -20,8 +20,6 @@
> #include "p9.h"
> #include "virtio-internal.h"
>
> -static struct vqs vq;
> -
> /**
> * Notes for 9P Server config:
> *
> @@ -163,7 +161,7 @@ static int virtio_9p_transact(void *opaque, uint8_t *tx, int tx_size, uint8_t *r
> int virtio_9p_init(struct virtio_device *dev, void *tx_buf, void *rx_buf,
> int buf_size)
> {
> - struct vring_avail *vq_avail;
> + struct vqs vq;
> int status = VIRTIO_STAT_ACKNOWLEDGE;
>
> /* Check for double open */
> @@ -195,9 +193,8 @@ int virtio_9p_init(struct virtio_device *dev, void *tx_buf, void *rx_buf,
> if (virtio_queue_init_vq(dev, &vq, 0))
> goto dev_error;
>
> - vq_avail = virtio_get_vring_avail(dev, 0);
> - vq_avail->flags = virtio_cpu_to_modern16(dev, VRING_AVAIL_F_NO_INTERRUPT);
> - vq_avail->idx = 0;
> + vq.avail->flags = virtio_cpu_to_modern16(dev, VRING_AVAIL_F_NO_INTERRUPT);
> + vq.avail->idx = 0;
>
> /* Tell HV that setup succeeded */
> status |= VIRTIO_STAT_DRIVER_OK;
> diff --git a/lib/libvirtio/virtio-blk.c b/lib/libvirtio/virtio-blk.c
> index cdfdd10..9eea99d 100644
> --- a/lib/libvirtio/virtio-blk.c
> +++ b/lib/libvirtio/virtio-blk.c
> @@ -21,8 +21,6 @@
> #define DEFAULT_SECTOR_SIZE 512
> #define DRIVER_FEATURE_SUPPORT (VIRTIO_BLK_F_BLK_SIZE | VIRTIO_F_VERSION_1)
>
> -static struct vqs vq;
> -
> /**
> * Initialize virtio-block device.
> * @param dev pointer to virtio device information
> @@ -30,7 +28,7 @@ static struct vqs vq;
> int
> virtioblk_init(struct virtio_device *dev)
> {
> - struct vring_avail *vq_avail;
> + struct vqs vq;
> int blk_size = DEFAULT_SECTOR_SIZE;
> uint64_t features;
> int status = VIRTIO_STAT_ACKNOWLEDGE;
> @@ -59,9 +57,8 @@ virtioblk_init(struct virtio_device *dev)
> if (virtio_queue_init_vq(dev, &vq, 0))
> goto dev_error;
>
> - vq_avail = virtio_get_vring_avail(dev, 0);
> - vq_avail->flags = virtio_cpu_to_modern16(dev, VRING_AVAIL_F_NO_INTERRUPT);
> - vq_avail->idx = 0;
> + vq.avail->flags = virtio_cpu_to_modern16(dev, VRING_AVAIL_F_NO_INTERRUPT);
> + vq.avail->idx = 0;
>
> /* Tell HV that setup succeeded */
> status |= VIRTIO_STAT_DRIVER_OK;
>
More information about the SLOF
mailing list