[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 03/17] cow: do not call bdrv_co_is_allocated
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 03/17] cow: do not call bdrv_co_is_allocated |
Date: |
Tue, 16 Jul 2013 18:29:14 +0200 |
As we change bdrv_is_allocated to gather more information from bs and
bs->file, it will become a bit slower. It is still appropriate for online
jobs, but not for reads/writes. Call the internal function instead.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/cow.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/block/cow.c b/block/cow.c
index 304e4c7..2994f8d 100644
--- a/block/cow.c
+++ b/block/cow.c
@@ -46,6 +46,9 @@ typedef struct BDRVCowState {
int64_t cow_sectors_offset;
} BDRVCowState;
+static int coroutine_fn cow_co_is_allocated(BlockDriverState *bs,
+ int64_t sector_num, int nb_sectors, int *num_same);
+
static int cow_probe(const uint8_t *buf, int buf_size, const char *filename)
{
const struct cow_header_v2 *cow_header = (const void *)buf;
@@ -212,7 +215,7 @@ static int coroutine_fn cow_read(BlockDriverState *bs,
int64_t sector_num,
int ret, n;
while (nb_sectors > 0) {
- if (bdrv_co_is_allocated(bs, sector_num, nb_sectors, &n)) {
+ if (cow_co_is_allocated(bs, sector_num, nb_sectors, &n)) {
ret = bdrv_pread(bs->file,
s->cow_sectors_offset + sector_num * 512,
buf, n * 512);
--
1.8.3.1
- [Qemu-devel] [PATCH v2 00/17] Add qemu-img subcommand to dump file metadata, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 01/17] cow: make reads go at a decent speed, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 02/17] cow: make writes go at a less indecent speed, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 03/17] cow: do not call bdrv_co_is_allocated,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v2 04/17] block: make bdrv_co_is_allocated static, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 08/17] block: make bdrv_has_zero_init return false for copy-on-write-images, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 09/17] block: introduce bdrv_get_block_status API, Paolo Bonzini, 2013/07/16
- [Qemu-devel] [PATCH v2 10/17] block: define get_block_status return value, Paolo Bonzini, 2013/07/16