[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 07/18] raw: remove the aligned_buf
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 07/18] raw: remove the aligned_buf |
Date: |
Thu, 26 Jan 2012 18:22:38 +0100 |
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/raw-posix.c | 25 +++----------------------
1 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/block/raw-posix.c b/block/raw-posix.c
index 2ee5d69..007d1d3 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -129,8 +129,6 @@ typedef struct BDRVRawState {
int use_aio;
void *aio_ctx;
#endif
- uint8_t *aligned_buf;
- unsigned aligned_buf_size;
#ifdef CONFIG_XFS
bool is_xfs : 1;
#endif
@@ -216,23 +214,10 @@ static int raw_open_common(BlockDriverState *bs, const
char *filename,
return ret;
}
s->fd = fd;
- s->aligned_buf = NULL;
-
- if ((bdrv_flags & BDRV_O_NOCACHE)) {
- /*
- * Allocate a buffer for read/modify/write cycles. Chose the size
- * pessimistically as we don't know the block size yet.
- */
- s->aligned_buf_size = 32 * MAX_BLOCKSIZE;
- s->aligned_buf = qemu_memalign(MAX_BLOCKSIZE, s->aligned_buf_size);
- if (s->aligned_buf == NULL) {
- goto out_close;
- }
- }
/* We're falling back to POSIX AIO in some cases so init always */
if (paio_init() < 0) {
- goto out_free_buf;
+ goto out_close;
}
#ifdef CONFIG_LINUX_AIO
@@ -245,7 +230,7 @@ static int raw_open_common(BlockDriverState *bs, const char
*filename,
s->aio_ctx = laio_init();
if (!s->aio_ctx) {
- goto out_free_buf;
+ goto out_close;
}
s->use_aio = 1;
} else
@@ -264,8 +249,6 @@ static int raw_open_common(BlockDriverState *bs, const char
*filename,
return 0;
-out_free_buf:
- qemu_vfree(s->aligned_buf);
out_close:
close(fd);
return -errno;
@@ -326,7 +309,7 @@ static BlockDriverAIOCB *raw_aio_submit(BlockDriverState
*bs,
* boundary. Check if this is the case or tell the low-level
* driver that it needs to copy the buffer.
*/
- if (s->aligned_buf) {
+ if ((bs->open_flags & BDRV_O_NOCACHE)) {
if (!qiov_is_aligned(bs, qiov)) {
type |= QEMU_AIO_MISALIGNED;
#ifdef CONFIG_LINUX_AIO
@@ -374,8 +357,6 @@ static void raw_close(BlockDriverState *bs)
if (s->fd >= 0) {
close(s->fd);
s->fd = -1;
- if (s->aligned_buf != NULL)
- qemu_vfree(s->aligned_buf);
}
}
--
1.7.7.6
- [Qemu-devel] [PATCH v2 00/18] Support mismatched host and guest logical block sizes, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 01/18] block: do not rely on open_flags for bdrv_is_snapshot, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 03/18] block: pass protocol flags up to the format, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 02/18] block: store actual flags in bs->open_flags, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 04/18] block: non-raw protocols never cache, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 05/18] block: remove enable_write_cache, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 06/18] block: move flag bits together, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 07/18] raw: remove the aligned_buf,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v2 09/18] block: add host_block_size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 11/18] iscsi: save host block size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 08/18] block: rename buffer_alignment to guest_block_size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 10/18] raw: probe host_block_size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 12/18] block: allow waiting only for overlapping writes, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 14/18] block: protect against "torn reads" for guest_block_size > host_block_size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 17/18] block: default min_io_size to host block size when doing rmw, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 16/18] block: default physical block size to host block size, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 18/18] qemu-io: add blocksize argument to open, Paolo Bonzini, 2012/01/26
- [Qemu-devel] [PATCH v2 15/18] block: align and serialize I/O when guest_block_size < host_block_size, Paolo Bonzini, 2012/01/26