[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 23/27] block: New bdrv_set_buffer_alignment()
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v3 23/27] block: New bdrv_set_buffer_alignment() |
Date: |
Tue, 6 Sep 2011 18:58:56 +0200 |
Device models should be able to set it without an unclean include of
block_int.h.
Signed-off-by: Markus Armbruster <address@hidden>
---
block.c | 6 ++++--
block.h | 1 +
hw/ide/core.c | 2 +-
hw/scsi-disk.c | 2 +-
hw/virtio-blk.c | 3 +--
5 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/block.c b/block.c
index febfd67..e986986 100644
--- a/block.c
+++ b/block.c
@@ -480,7 +480,6 @@ static int bdrv_open_common(BlockDriverState *bs, const
char *filename,
bs->encrypted = 0;
bs->valid_key = 0;
bs->open_flags = flags;
- /* buffer_alignment defaulted to 512, drivers can change this value */
bs->buffer_alignment = 512;
pstrcpy(bs->filename, sizeof(bs->filename), filename);
@@ -3115,7 +3114,10 @@ BlockDriverAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
return NULL;
}
-
+void bdrv_set_buffer_alignment(BlockDriverState *bs, int align)
+{
+ bs->buffer_alignment = align;
+}
void *qemu_blockalign(BlockDriverState *bs, size_t size)
{
diff --git a/block.h b/block.h
index 6e0c468..4b7fa35 100644
--- a/block.h
+++ b/block.h
@@ -269,6 +269,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
const char *base_filename, const char *base_fmt,
char *options, uint64_t img_size, int flags);
+void bdrv_set_buffer_alignment(BlockDriverState *bs, int align);
void *qemu_blockalign(BlockDriverState *bs, size_t size);
#define BDRV_SECTORS_PER_DIRTY_CHUNK 2048
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 2f0f6d4..4fb7e61 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1847,7 +1847,7 @@ int ide_init_drive(IDEState *s, BlockDriverState *bs,
IDEDriveKind kind,
s->smart_selftest_count = 0;
if (kind == IDE_CD) {
bdrv_set_dev_ops(bs, &ide_cd_block_ops, s);
- bs->buffer_alignment = 2048;
+ bdrv_set_buffer_alignment(bs, 2048);
} else {
if (!bdrv_is_inserted(s->bs)) {
error_report("Device needs media, but drive is empty");
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index d44b3b8..b115760 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -1236,7 +1236,7 @@ static int scsi_initfn(SCSIDevice *dev, uint8_t scsi_type)
return -1;
}
s->cluster_size = s->qdev.blocksize / 512;
- s->bs->buffer_alignment = s->qdev.blocksize;
+ bdrv_set_buffer_alignment(s->bs, s->qdev.blocksize);
s->qdev.type = scsi_type;
qemu_add_vm_change_state_handler(scsi_dma_restart_cb, s);
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index 4876555..ac4b3f1 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -15,7 +15,6 @@
#include "qemu-error.h"
#include "trace.h"
#include "blockdev.h"
-#include "block_int.h"
#include "virtio-blk.h"
#ifdef __linux__
# include <scsi/sg.h>
@@ -601,7 +600,7 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf
*conf,
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);
- s->bs->buffer_alignment = conf->logical_block_size;
+ bdrv_set_buffer_alignment(s->bs, conf->logical_block_size);
add_boot_device_path(conf->bootindex, dev, "/address@hidden,0");
--
1.7.6
- [Qemu-devel] [PATCH v3 06/27] scsi-disk: Factor out scsi_disk_emulate_start_stop(), (continued)
- [Qemu-devel] [PATCH v3 06/27] scsi-disk: Factor out scsi_disk_emulate_start_stop(), Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 01/27] ide: Fix ATA command READ to set ATAPI signature for CD-ROM, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 20/27] block: Show whether the virtual tray is open in info block, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 26/27] block: New change_media_cb() parameter load, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 15/27] ide/atapi: Don't fail eject when tray is already open, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 13/27] block: Drop medium lock tracking, ask device models instead, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 24/27] block: Reset buffer alignment on detach, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 25/27] nbd: Clean up use of block_int.h, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 23/27] block: New bdrv_set_buffer_alignment(),
Markus Armbruster <=
- [Qemu-devel] [PATCH v3 27/27] ide/atapi scsi-disk: Make monitor eject -f, then change work, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 18/27] block: Clean up remaining users of "removable", Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 14/27] block: Rename bdrv_set_locked() to bdrv_lock_medium(), Markus Armbruster, 2011/09/06
- Re: [Qemu-devel] [PATCH v3 00/27] Block layer cleanup & fixes, Kevin Wolf, 2011/09/08