qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 12/23] virtio-blk: Drop redundant VirtIOBlock


From: Benoît Canet
Subject: Re: [Qemu-devel] [PATCH v3 12/23] virtio-blk: Drop redundant VirtIOBlock member conf
Date: Wed, 17 Sep 2014 11:31:51 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Sep 16, 2014 at 08:12:17PM +0200, Markus Armbruster wrote:
> Commit 12c5674 turned it into a pointer to member blk.conf.
> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
>  hw/block/virtio-blk.c          | 28 ++++++++++++++--------------
>  include/hw/virtio/virtio-blk.h |  1 -
>  2 files changed, 14 insertions(+), 15 deletions(-)
> 
> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> index 38ad38f..5943af5 100644
> --- a/hw/block/virtio-blk.c
> +++ b/hw/block/virtio-blk.c
> @@ -298,7 +298,7 @@ static bool virtio_blk_sect_range_ok(VirtIOBlock *dev,
>      if (sector & dev->sector_mask) {
>          return false;
>      }
> -    if (size % dev->conf->logical_block_size) {
> +    if (size % dev->blk.conf.logical_block_size) {
>          return false;
>      }
>      bdrv_get_geometry(dev->bs, &total_sectors);
> @@ -519,19 +519,20 @@ static void virtio_blk_reset(VirtIODevice *vdev)
>  static void virtio_blk_update_config(VirtIODevice *vdev, uint8_t *config)
>  {
>      VirtIOBlock *s = VIRTIO_BLK(vdev);
> +    BlockConf *conf = &s->blk.conf;
>      struct virtio_blk_config blkcfg;
>      uint64_t capacity;
> -    int blk_size = s->conf->logical_block_size;
> +    int blk_size = conf->logical_block_size;
>  
>      bdrv_get_geometry(s->bs, &capacity);
>      memset(&blkcfg, 0, sizeof(blkcfg));
>      virtio_stq_p(vdev, &blkcfg.capacity, capacity);
>      virtio_stl_p(vdev, &blkcfg.seg_max, 128 - 2);
> -    virtio_stw_p(vdev, &blkcfg.cylinders, s->conf->cyls);
> +    virtio_stw_p(vdev, &blkcfg.cylinders, conf->cyls);
>      virtio_stl_p(vdev, &blkcfg.blk_size, blk_size);
> -    virtio_stw_p(vdev, &blkcfg.min_io_size, s->conf->min_io_size / blk_size);
> -    virtio_stw_p(vdev, &blkcfg.opt_io_size, s->conf->opt_io_size / blk_size);
> -    blkcfg.heads = s->conf->heads;
> +    virtio_stw_p(vdev, &blkcfg.min_io_size, conf->min_io_size / blk_size);
> +    virtio_stw_p(vdev, &blkcfg.opt_io_size, conf->opt_io_size / blk_size);
> +    blkcfg.heads = conf->heads;
>      /*
>       * We must ensure that the block device capacity is a multiple of
>       * the logical block size. If that is not the case, let's use
> @@ -543,13 +544,13 @@ static void virtio_blk_update_config(VirtIODevice 
> *vdev, uint8_t *config)
>       * divided by 512 - instead it is the amount of blk_size blocks
>       * per track (cylinder).
>       */
> -    if (bdrv_getlength(s->bs) /  s->conf->heads / s->conf->secs % blk_size) {
> -        blkcfg.sectors = s->conf->secs & ~s->sector_mask;
> +    if (bdrv_getlength(s->bs) /  conf->heads / conf->secs % blk_size) {
> +        blkcfg.sectors = conf->secs & ~s->sector_mask;
>      } else {
> -        blkcfg.sectors = s->conf->secs;
> +        blkcfg.sectors = conf->secs;
>      }
>      blkcfg.size_max = 0;
> -    blkcfg.physical_block_exp = get_physical_block_exp(s->conf);
> +    blkcfg.physical_block_exp = get_physical_block_exp(&s->blk.conf);
>      blkcfg.alignment_offset = 0;
>      blkcfg.wce = bdrv_enable_write_cache(s->bs);
>      memcpy(config, &blkcfg, sizeof(struct virtio_blk_config));
> @@ -756,9 +757,8 @@ static void virtio_blk_device_realize(DeviceState *dev, 
> Error **errp)
>                  sizeof(struct virtio_blk_config));
>  
>      s->bs = blk->conf.bs;
> -    s->conf = &blk->conf;
>      s->rq = NULL;
> -    s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;
> +    s->sector_mask = (s->blk.conf.logical_block_size / BDRV_SECTOR_SIZE) - 1;
>  
>      s->vq = virtio_add_queue(vdev, 128, virtio_blk_handle_output);
>      s->complete_request = virtio_blk_complete_request;
> @@ -777,11 +777,11 @@ static void virtio_blk_device_realize(DeviceState *dev, 
> Error **errp)
>      register_savevm(dev, "virtio-blk", virtio_blk_id++, 2,
>                      virtio_blk_save, virtio_blk_load, s);
>      bdrv_set_dev_ops(s->bs, &virtio_block_ops, s);
> -    bdrv_set_guest_block_size(s->bs, s->conf->logical_block_size);
> +    bdrv_set_guest_block_size(s->bs, s->blk.conf.logical_block_size);
>  
>      bdrv_iostatus_enable(s->bs);
>  
> -    add_boot_device_path(s->conf->bootindex, dev, "/address@hidden,0");
> +    add_boot_device_path(s->blk.conf.bootindex, dev, "/address@hidden,0");
>  }
>  
>  static void virtio_blk_device_unrealize(DeviceState *dev, Error **errp)
> diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
> index cf61154..18967c8 100644
> --- a/include/hw/virtio/virtio-blk.h
> +++ b/include/hw/virtio/virtio-blk.h
> @@ -125,7 +125,6 @@ typedef struct VirtIOBlock {
>      VirtQueue *vq;
>      void *rq;
>      QEMUBH *bh;
> -    BlockConf *conf;
>      VirtIOBlkConf blk;
>      unsigned short sector_mask;
>      bool original_wce;
> -- 
> 1.9.3
> 

Look good

Reviewed-by: Benoit Canet <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]