[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 17/31] qcow2: Update get_cluster_table() to support
From: |
Alberto Garcia |
Subject: |
[Qemu-block] [PATCH 17/31] qcow2: Update get_cluster_table() to support L2 slices |
Date: |
Thu, 12 Oct 2017 16:05:31 +0300 |
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 d3548cc667..580fb50869 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -652,20 +652,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 */
@@ -687,11 +687,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;
}
@@ -706,8 +706,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;
}
@@ -721,9 +721,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-block] [PATCH 10/31] qcow2: Remove BDS parameter from qcow2_cache_discard(), (continued)
- [Qemu-block] [PATCH 10/31] qcow2: Remove BDS parameter from qcow2_cache_discard(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 12/31] qcow2: Add offset_to_l1_index(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 07/31] qcow2: Remove BDS parameter from qcow2_cache_put(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 16/31] qcow2: Update l2_allocate() to support L2 slices, Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 11/31] qcow2: Remove BDS parameter from qcow2_cache_is_table_offset(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 06/31] qcow2: Remove BDS parameter from qcow2_cache_entry_mark_dirty(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 15/31] qcow2: Update l2_load() to support L2 slices, Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 05/31] qcow2: Remove BDS parameter from qcow2_cache_table_release(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 14/31] qcow2: Add offset_to_l2_slice_index(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 09/31] qcow2: Remove BDS parameter from qcow2_cache_clean_unused(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 17/31] qcow2: Update get_cluster_table() to support L2 slices,
Alberto Garcia <=
- [Qemu-block] [PATCH 04/31] qcow2: Remove BDS parameter from qcow2_cache_get_table_idx(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 13/31] qcow2: Add l2_slice_size field to BDRVQcow2State, Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 03/31] qcow2: Remove BDS parameter from qcow2_cache_get_table_addr(), Alberto Garcia, 2017/10/12
- [Qemu-block] [PATCH 01/31] qcow2: Fix documentation of get_cluster_table(), Alberto Garcia, 2017/10/12
- Re: [Qemu-block] [Qemu-devel] [PATCH 00/31] Allow configuring the qcow2 L2 cache entry size, no-reply, 2017/10/12
- Re: [Qemu-block] [Qemu-devel] [PATCH 00/31] Allow configuring the qcow2 L2 cache entry size, no-reply, 2017/10/12