9ae3a8
From 2c5f92a08224373b01d7d46053f46294fa02d00a Mon Sep 17 00:00:00 2001
9ae3a8
From: Kevin Wolf <kwolf@redhat.com>
9ae3a8
Date: Tue, 29 Nov 2011 11:35:47 +0100
9ae3a8
Subject: [PATCH 09/37] block: rename buffer_alignment to guest_block_size
9ae3a8
9ae3a8
Message-id: <1392117622-28812-10-git-send-email-kwolf@redhat.com>
9ae3a8
Patchwork-id: 57174
9ae3a8
O-Subject: [RHEL-7.0 qemu-kvm PATCH v2 09/37] block: rename buffer_alignment to guest_block_size
9ae3a8
Bugzilla: 748906
9ae3a8
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
9ae3a8
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
9ae3a8
RH-Acked-by: Max Reitz <mreitz@redhat.com>
9ae3a8
9ae3a8
From: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
9ae3a8
The alignment field is now set to the value that is promised to the
9ae3a8
guest, rather than required by the host.  The next patches will make
9ae3a8
QEMU aware of the host-provided values, so make this clear.
9ae3a8
9ae3a8
The alignment is also not about memory buffers, but about the sectors on
9ae3a8
the disk, change the documentation of the field.
9ae3a8
9ae3a8
At this point, the field is set by the device emulation, but completely
9ae3a8
ignored by the block layer.
9ae3a8
9ae3a8
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
9ae3a8
Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
9ae3a8
Reviewed-by: Max Reitz <mreitz@redhat.com>
9ae3a8
Reviewed-by: Benoit Canet <benoit@irqsave.net>
9ae3a8
(cherry picked from commit 1b7fd729559c6d3b273303aa48bc653ceef08747)
9ae3a8
9ae3a8
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
9ae3a8
---
9ae3a8
 block.c                   | 10 +++++-----
9ae3a8
 hw/block/virtio-blk.c     |  2 +-
9ae3a8
 hw/ide/core.c             |  2 +-
9ae3a8
 hw/scsi/scsi-disk.c       |  2 +-
9ae3a8
 hw/scsi/scsi-generic.c    |  2 +-
9ae3a8
 include/block/block.h     |  2 +-
9ae3a8
 include/block/block_int.h |  4 ++--
9ae3a8
 7 files changed, 12 insertions(+), 12 deletions(-)
9ae3a8
---
9ae3a8
 block.c                   |   10 +++++-----
9ae3a8
 hw/block/virtio-blk.c     |    2 +-
9ae3a8
 hw/ide/core.c             |    2 +-
9ae3a8
 hw/scsi/scsi-disk.c       |    2 +-
9ae3a8
 hw/scsi/scsi-generic.c    |    2 +-
9ae3a8
 include/block/block.h     |    2 +-
9ae3a8
 include/block/block_int.h |    4 ++--
9ae3a8
 7 files changed, 12 insertions(+), 12 deletions(-)
9ae3a8
9ae3a8
diff --git a/block.c b/block.c
9ae3a8
index c85f43e..f2102bc 100644
9ae3a8
--- a/block.c
9ae3a8
+++ b/block.c
9ae3a8
@@ -779,7 +779,7 @@ static int bdrv_open_common(BlockDriverState *bs, BlockDriverState *file,
9ae3a8
     }
9ae3a8
 
9ae3a8
     bs->open_flags = flags;
9ae3a8
-    bs->buffer_alignment = 512;
9ae3a8
+    bs->guest_block_size = 512;
9ae3a8
     bs->zero_beyond_eof = true;
9ae3a8
     open_flags = bdrv_open_flags(bs, flags);
9ae3a8
     bs->read_only = !(open_flags & BDRV_O_RDWR);
9ae3a8
@@ -1614,7 +1614,7 @@ static void bdrv_move_feature_fields(BlockDriverState *bs_dest,
9ae3a8
     bs_dest->dev_ops            = bs_src->dev_ops;
9ae3a8
     bs_dest->dev_opaque         = bs_src->dev_opaque;
9ae3a8
     bs_dest->dev                = bs_src->dev;
9ae3a8
-    bs_dest->buffer_alignment   = bs_src->buffer_alignment;
9ae3a8
+    bs_dest->guest_block_size   = bs_src->guest_block_size;
9ae3a8
     bs_dest->copy_on_read       = bs_src->copy_on_read;
9ae3a8
 
9ae3a8
     bs_dest->enable_write_cache = bs_src->enable_write_cache;
9ae3a8
@@ -1766,7 +1766,7 @@ void bdrv_detach_dev(BlockDriverState *bs, void *dev)
9ae3a8
     bs->dev = NULL;
9ae3a8
     bs->dev_ops = NULL;
9ae3a8
     bs->dev_opaque = NULL;
9ae3a8
-    bs->buffer_alignment = 512;
9ae3a8
+    bs->guest_block_size = 512;
9ae3a8
 }
9ae3a8
 
9ae3a8
 /* TODO change to return DeviceState * when all users are qdevified */
9ae3a8
@@ -4738,9 +4738,9 @@ BlockDriverAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
9ae3a8
     return NULL;
9ae3a8
 }
9ae3a8
 
9ae3a8
-void bdrv_set_buffer_alignment(BlockDriverState *bs, int align)
9ae3a8
+void bdrv_set_guest_block_size(BlockDriverState *bs, int align)
9ae3a8
 {
9ae3a8
-    bs->buffer_alignment = align;
9ae3a8
+    bs->guest_block_size = align;
9ae3a8
 }
9ae3a8
 
9ae3a8
 void *qemu_blockalign(BlockDriverState *bs, size_t size)
9ae3a8
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
9ae3a8
index aa37cc9..a96207d 100644
9ae3a8
--- a/hw/block/virtio-blk.c
9ae3a8
+++ b/hw/block/virtio-blk.c
9ae3a8
@@ -721,7 +721,7 @@ static int virtio_blk_device_init(VirtIODevice *vdev)
9ae3a8
     register_savevm(qdev, "virtio-blk", virtio_blk_id++, 2,
9ae3a8
                     virtio_blk_save, virtio_blk_load, s);
9ae3a8
     bdrv_set_dev_ops(s->bs, &virtio_block_ops, s);
9ae3a8
-    bdrv_set_buffer_alignment(s->bs, s->conf->logical_block_size);
9ae3a8
+    bdrv_set_guest_block_size(s->bs, s->conf->logical_block_size);
9ae3a8
 
9ae3a8
     bdrv_iostatus_enable(s->bs);
9ae3a8
 
9ae3a8
diff --git a/hw/ide/core.c b/hw/ide/core.c
9ae3a8
index 8b3dde6..c172c71 100644
9ae3a8
--- a/hw/ide/core.c
9ae3a8
+++ b/hw/ide/core.c
9ae3a8
@@ -2007,7 +2007,7 @@ int ide_init_drive(IDEState *s, BlockDriverState *bs, IDEDriveKind kind,
9ae3a8
     s->smart_selftest_count = 0;
9ae3a8
     if (kind == IDE_CD) {
9ae3a8
         bdrv_set_dev_ops(bs, &ide_cd_block_ops, s);
9ae3a8
-        bdrv_set_buffer_alignment(bs, 2048);
9ae3a8
+        bdrv_set_guest_block_size(bs, 2048);
9ae3a8
     } else {
9ae3a8
         if (!bdrv_is_inserted(s->bs)) {
9ae3a8
             error_report("Device needs media, but drive is empty");
9ae3a8
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
9ae3a8
index bce617c..6491091 100644
9ae3a8
--- a/hw/scsi/scsi-disk.c
9ae3a8
+++ b/hw/scsi/scsi-disk.c
9ae3a8
@@ -2254,7 +2254,7 @@ static int scsi_initfn(SCSIDevice *dev)
9ae3a8
     } else {
9ae3a8
         bdrv_set_dev_ops(s->qdev.conf.bs, &scsi_disk_block_ops, s);
9ae3a8
     }
9ae3a8
-    bdrv_set_buffer_alignment(s->qdev.conf.bs, s->qdev.blocksize);
9ae3a8
+    bdrv_set_guest_block_size(s->qdev.conf.bs, s->qdev.blocksize);
9ae3a8
 
9ae3a8
     bdrv_iostatus_enable(s->qdev.conf.bs);
9ae3a8
     add_boot_device_path(s->qdev.conf.bootindex, &dev->qdev, NULL);
9ae3a8
diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
9ae3a8
index 8f195be..f08b64e 100644
9ae3a8
--- a/hw/scsi/scsi-generic.c
9ae3a8
+++ b/hw/scsi/scsi-generic.c
9ae3a8
@@ -210,7 +210,7 @@ static void scsi_read_complete(void * opaque, int ret)
9ae3a8
             s->blocksize = ldl_be_p(&r->buf[8]);
9ae3a8
             s->max_lba = ldq_be_p(&r->buf[0]);
9ae3a8
         }
9ae3a8
-        bdrv_set_buffer_alignment(s->conf.bs, s->blocksize);
9ae3a8
+        bdrv_set_guest_block_size(s->conf.bs, s->blocksize);
9ae3a8
 
9ae3a8
         scsi_req_data(&r->req, len);
9ae3a8
         if (!r->req.io_canceled) {
9ae3a8
diff --git a/include/block/block.h b/include/block/block.h
9ae3a8
index 9d1ce59..2a9aa5b 100644
9ae3a8
--- a/include/block/block.h
9ae3a8
+++ b/include/block/block.h
9ae3a8
@@ -409,7 +409,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
9ae3a8
 /* Returns the alignment in bytes that is required so that no bounce buffer
9ae3a8
  * is required throughout the stack */
9ae3a8
 size_t bdrv_opt_mem_align(BlockDriverState *bs);
9ae3a8
-void bdrv_set_buffer_alignment(BlockDriverState *bs, int align);
9ae3a8
+void bdrv_set_guest_block_size(BlockDriverState *bs, int align);
9ae3a8
 void *qemu_blockalign(BlockDriverState *bs, size_t size);
9ae3a8
 bool bdrv_qiov_is_aligned(BlockDriverState *bs, QEMUIOVector *qiov);
9ae3a8
 
9ae3a8
diff --git a/include/block/block_int.h b/include/block/block_int.h
9ae3a8
index ddbd53d..0445e6b 100644
9ae3a8
--- a/include/block/block_int.h
9ae3a8
+++ b/include/block/block_int.h
9ae3a8
@@ -307,8 +307,8 @@ struct BlockDriverState {
9ae3a8
     /* Whether produces zeros when read beyond eof */
9ae3a8
     bool zero_beyond_eof;
9ae3a8
 
9ae3a8
-    /* the memory alignment required for the buffers handled by this driver */
9ae3a8
-    int buffer_alignment;
9ae3a8
+    /* the block size for which the guest device expects atomicity */
9ae3a8
+    int guest_block_size;
9ae3a8
 
9ae3a8
     /* do we need to tell the quest if we have a volatile write cache? */
9ae3a8
     int enable_write_cache;
9ae3a8
-- 
9ae3a8
1.7.1
9ae3a8