[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 11/15] vmdk: Return extent's file in bdrv_get_blo
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v3 11/15] vmdk: Return extent's file in bdrv_get_block_status |
Date: |
Thu, 26 Nov 2015 13:05:31 +0800 |
Signed-off-by: Fam Zheng <address@hidden>
---
block/vmdk.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index f5a56fd..b60a5af 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1265,6 +1265,7 @@ static int64_t coroutine_fn
vmdk_co_get_block_status(BlockDriverState *bs,
0, 0);
qemu_co_mutex_unlock(&s->lock);
+ index_in_cluster = vmdk_find_index_in_cluster(extent, sector_num);
switch (ret) {
case VMDK_ERROR:
ret = -EIO;
@@ -1276,15 +1277,13 @@ static int64_t coroutine_fn
vmdk_co_get_block_status(BlockDriverState *bs,
ret = BDRV_BLOCK_ZERO;
break;
case VMDK_OK:
- ret = BDRV_BLOCK_DATA;
- if (extent->file == bs->file && !extent->compressed) {
- ret |= BDRV_BLOCK_OFFSET_VALID | offset;
- }
-
+ ret = BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID;
+ ret |= (offset + (index_in_cluster << BDRV_SECTOR_BITS))
+ & BDRV_BLOCK_OFFSET_MASK;
+ *file = extent->file->bs;
break;
}
- index_in_cluster = vmdk_find_index_in_cluster(extent, sector_num);
n = extent->cluster_sectors - index_in_cluster;
if (n > nb_sectors) {
n = nb_sectors;
--
2.4.3
- Re: [Qemu-devel] [PATCH v3 01/15] block: Add "file" output parameter to block status query functions, (continued)
- [Qemu-devel] [PATCH v3 02/15] qcow: Assign bs->file->bs to file in qcow_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 03/15] qcow2: Assign bs->file->bs to file in qcow2_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 04/15] raw: Assign bs to file in raw_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 05/15] iscsi: Assign bs to file in iscsi_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 06/15] parallels: Assign bs->file->bs to file in parallels_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 07/15] qed: Assign bs->file->bs to file in bdrv_qed_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 08/15] sheepdog: Assign bs to file in sd_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 09/15] vdi: Assign bs->file->bs to file in vdi_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 10/15] vpc: Assign bs->file->bs to file in vpc_co_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 11/15] vmdk: Return extent's file in bdrv_get_block_status,
Fam Zheng <=
- [Qemu-devel] [PATCH v3 12/15] qemu-img: In "map", use the returned "file" from bdrv_get_block_status, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 13/15] qemu-img: Make MapEntry a QAPI struct, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 14/15] qemu-img: Use QAPI visitor to generate JSON, Fam Zheng, 2015/11/26
- [Qemu-devel] [PATCH v3 15/15] iotests: Add "qemu-img map" test for VMDK extents, Fam Zheng, 2015/11/26
- Re: [Qemu-devel] [PATCH v3 00/15] qemu-img map: Allow driver to return file of the allocated block, Stefan Hajnoczi, 2015/11/30