[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 11/15] vmdk: Return extent's file in bdrv_get_blo
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v5 11/15] vmdk: Return extent's file in bdrv_get_block_status |
Date: |
Tue, 5 Jan 2016 16:11:12 +0800 |
Signed-off-by: Fam Zheng <address@hidden>
---
block/vmdk.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index f5a56fd..59e1ffe 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;
@@ -1277,14 +1278,15 @@ static int64_t coroutine_fn
vmdk_co_get_block_status(BlockDriverState *bs,
break;
case VMDK_OK:
ret = BDRV_BLOCK_DATA;
- if (extent->file == bs->file && !extent->compressed) {
- ret |= BDRV_BLOCK_OFFSET_VALID | offset;
+ if (!extent->compressed) {
+ ret |= 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 v5 01/15] block: Add "file" output parameter to block status query functions, (continued)
- [Qemu-devel] [PATCH v5 02/15] qcow: Assign bs->file->bs to file in qcow_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 03/15] qcow2: Assign bs->file->bs to file in qcow2_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 04/15] raw: Assign bs to file in raw_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 05/15] iscsi: Assign bs to file in iscsi_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 06/15] parallels: Assign bs->file->bs to file in parallels_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 07/15] qed: Assign bs->file->bs to file in bdrv_qed_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 08/15] sheepdog: Assign bs to file in sd_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 09/15] vdi: Assign bs->file->bs to file in vdi_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 10/15] vpc: Assign bs->file->bs to file in vpc_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 11/15] vmdk: Return extent's file in bdrv_get_block_status,
Fam Zheng <=
- [Qemu-devel] [PATCH v5 12/15] block: Remove the "bs->file" test in bdrv_co_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 13/15] qemu-img: In "map", use the returned "file" from bdrv_get_block_status, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 14/15] qemu-img: Make MapEntry a QAPI struct, Fam Zheng, 2016/01/05
- [Qemu-devel] [PATCH v5 15/15] iotests: Add "qemu-img map" test for VMDK extents, Fam Zheng, 2016/01/05