[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 11/14] vmdk: Return extent's file in bdrv_get_blo
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v4 11/14] vmdk: Return extent's file in bdrv_get_block_status |
Date: |
Thu, 24 Dec 2015 13:50:22 +0800 |
Reviewed-by: Stefan Hajnoczi <address@hidden>
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
- [Qemu-devel] [PATCH v4 02/14] qcow: Assign bs->file->bs to file in qcow_co_get_block_status, (continued)
- [Qemu-devel] [PATCH v4 02/14] qcow: Assign bs->file->bs to file in qcow_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 01/14] block: Add "file" output parameter to block status query functions, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 03/14] qcow2: Assign bs->file->bs to file in qcow2_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 05/14] iscsi: Assign bs to file in iscsi_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 04/14] raw: Assign bs to file in raw_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 06/14] parallels: Assign bs->file->bs to file in parallels_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 07/14] qed: Assign bs->file->bs to file in bdrv_qed_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 09/14] vdi: Assign bs->file->bs to file in vdi_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 08/14] sheepdog: Assign bs to file in sd_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 12/14] qemu-img: In "map", use the returned "file" from bdrv_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 11/14] vmdk: Return extent's file in bdrv_get_block_status,
Fam Zheng <=
- [Qemu-devel] [PATCH v4 10/14] vpc: Assign bs->file->bs to file in vpc_co_get_block_status, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 13/14] qemu-img: Make MapEntry a QAPI struct, Fam Zheng, 2015/12/24
- [Qemu-devel] [PATCH v4 14/14] iotests: Add "qemu-img map" test for VMDK extents, Fam Zheng, 2015/12/24