[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 17/32] qcow2: Update get_cluster_table() to suppo
From: |
Alberto Garcia |
Subject: |
[Qemu-devel] [PATCH v2 17/32] qcow2: Update get_cluster_table() to support L2 slices |
Date: |
Fri, 15 Dec 2017 13:53:45 +0100 |
This patch updates get_cluster_table() to return L2 slices instead of
full L2 tables.
The code itself needs almost no changes, it only needs to call
offset_to_l2_slice_index() instead of offset_to_l2_index(). This patch
also renames all the relevant variables and the documentation.
Signed-off-by: Alberto Garcia <address@hidden>
---
block/qcow2-cluster.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index ecb75b6be6..3d43dc2307 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -660,20 +660,20 @@ fail:
* get_cluster_table
*
* for a given disk offset, load (and allocate if needed)
- * the l2 table.
+ * the appropiate slice of its l2 table.
*
- * the cluster index in the l2 table is given to the caller.
+ * the cluster index in the l2 slice is given to the caller.
*
* Returns 0 on success, -errno in failure case
*/
static int get_cluster_table(BlockDriverState *bs, uint64_t offset,
- uint64_t **new_l2_table,
+ uint64_t **new_l2_slice,
int *new_l2_index)
{
BDRVQcow2State *s = bs->opaque;
unsigned int l2_index;
uint64_t l1_index, l2_offset;
- uint64_t *l2_table = NULL;
+ uint64_t *l2_slice = NULL;
int ret;
/* seek to the l2 offset in the l1 table */
@@ -695,11 +695,11 @@ static int get_cluster_table(BlockDriverState *bs,
uint64_t offset,
return -EIO;
}
- /* seek the l2 table of the given l2 offset */
+ /* seek the l2 slice of the given l2 offset */
if (s->l1_table[l1_index] & QCOW_OFLAG_COPIED) {
- /* load the l2 table in memory */
- ret = l2_load(bs, offset, l2_offset, &l2_table);
+ /* load the l2 slice in memory */
+ ret = l2_load(bs, offset, l2_offset, &l2_slice);
if (ret < 0) {
return ret;
}
@@ -714,8 +714,8 @@ static int get_cluster_table(BlockDriverState *bs, uint64_t
offset,
/* Get the offset of the newly-allocated l2 table */
new_l2_offset = s->l1_table[l1_index] & L1E_OFFSET_MASK;
assert(offset_into_cluster(s, new_l2_offset) == 0);
- /* Load the l2 table in memory */
- ret = l2_load(bs, offset, new_l2_offset, &l2_table);
+ /* Load the l2 slice in memory */
+ ret = l2_load(bs, offset, new_l2_offset, &l2_slice);
if (ret < 0) {
return ret;
}
@@ -729,9 +729,9 @@ static int get_cluster_table(BlockDriverState *bs, uint64_t
offset,
/* find the cluster offset for the given disk offset */
- l2_index = offset_to_l2_index(s, offset);
+ l2_index = offset_to_l2_slice_index(s, offset);
- *new_l2_table = l2_table;
+ *new_l2_slice = l2_slice;
*new_l2_index = l2_index;
return 0;
--
2.11.0
- [Qemu-devel] [PATCH v2 23/32] qcow2: Update zero_single_l2() to support L2 slices, (continued)
- [Qemu-devel] [PATCH v2 23/32] qcow2: Update zero_single_l2() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 01/32] qcow2: Fix documentation of get_cluster_table(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 29/32] qcow2: Rename l2_table in count_contiguous_clusters_unallocated(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 28/32] qcow2: Rename l2_table in count_contiguous_clusters(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 05/32] qcow2: Remove BDS parameter from qcow2_cache_table_release(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 21/32] qcow2: Update handle_alloc() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 02/32] qcow2: Add table size field to Qcow2Cache, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 06/32] qcow2: Remove BDS parameter from qcow2_cache_entry_mark_dirty(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 09/32] qcow2: Remove BDS parameter from qcow2_cache_clean_unused(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 27/32] qcow2: Rename l2_table in qcow2_alloc_compressed_cluster_offset(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 17/32] qcow2: Update get_cluster_table() to support L2 slices,
Alberto Garcia <=
- [Qemu-devel] [PATCH v2 04/32] qcow2: Remove BDS parameter from qcow2_cache_get_table_idx(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 32/32] iotests: Add test for l2-cache-entry-size, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 24/32] qcow2: Update qcow2_update_snapshot_refcount() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 31/32] qcow2: Allow configuring the L2 slice size, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 07/32] qcow2: Remove BDS parameter from qcow2_cache_put(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 25/32] qcow2: Update expand_zero_clusters_in_l1() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 10/32] qcow2: Remove BDS parameter from qcow2_cache_discard(), Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 18/32] qcow2: Update qcow2_get_cluster_offset() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 20/32] qcow2: Update handle_copied() to support L2 slices, Alberto Garcia, 2017/12/15
- [Qemu-devel] [PATCH v2 16/32] qcow2: Update l2_allocate() to support L2 slices, Alberto Garcia, 2017/12/15