qcow2: Nicer variable names in qcow2_update_snapshot_refcount()

In order to keep checkpatch happy when the next patch changes
indentation, we first have to shorten some long lines.  The easiest
approach is to use a new variable in place of
'offset & L2E_OFFSET_MASK', except that 'offset' is the best name
for that variable.  Change '[old_]offset' to '[old_]entry' to
make room.

While touching things, also fix checkpatch warnings about unusual
'for' statements.

Suggested by Max Reitz <mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-id: 20170507000552.20847-2-eblake@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Eric Blake 2017-05-06 19:05:41 -05:00 committed by Max Reitz
parent 40812d9373
commit b32cbae111
1 changed files with 22 additions and 20 deletions

View File

@ -1059,9 +1059,9 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
int64_t l1_table_offset, int l1_size, int addend) int64_t l1_table_offset, int l1_size, int addend)
{ {
BDRVQcow2State *s = bs->opaque; BDRVQcow2State *s = bs->opaque;
uint64_t *l1_table, *l2_table, l2_offset, offset, l1_size2, refcount; uint64_t *l1_table, *l2_table, l2_offset, entry, l1_size2, refcount;
bool l1_allocated = false; bool l1_allocated = false;
int64_t old_offset, old_l2_offset; int64_t old_entry, old_l2_offset;
int i, j, l1_modified = 0, nb_csectors; int i, j, l1_modified = 0, nb_csectors;
int ret; int ret;
@ -1089,15 +1089,16 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
goto fail; goto fail;
} }
for(i = 0;i < l1_size; i++) for (i = 0; i < l1_size; i++) {
be64_to_cpus(&l1_table[i]); be64_to_cpus(&l1_table[i]);
}
} else { } else {
assert(l1_size == s->l1_size); assert(l1_size == s->l1_size);
l1_table = s->l1_table; l1_table = s->l1_table;
l1_allocated = false; l1_allocated = false;
} }
for(i = 0; i < l1_size; i++) { for (i = 0; i < l1_size; i++) {
l2_offset = l1_table[i]; l2_offset = l1_table[i];
if (l2_offset) { if (l2_offset) {
old_l2_offset = l2_offset; old_l2_offset = l2_offset;
@ -1117,20 +1118,22 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
goto fail; goto fail;
} }
for(j = 0; j < s->l2_size; j++) { for (j = 0; j < s->l2_size; j++) {
uint64_t cluster_index; uint64_t cluster_index;
uint64_t offset;
offset = be64_to_cpu(l2_table[j]); entry = be64_to_cpu(l2_table[j]);
old_offset = offset; old_entry = entry;
offset &= ~QCOW_OFLAG_COPIED; entry &= ~QCOW_OFLAG_COPIED;
offset = entry & L2E_OFFSET_MASK;
switch (qcow2_get_cluster_type(offset)) { switch (qcow2_get_cluster_type(entry)) {
case QCOW2_CLUSTER_COMPRESSED: case QCOW2_CLUSTER_COMPRESSED:
nb_csectors = ((offset >> s->csize_shift) & nb_csectors = ((entry >> s->csize_shift) &
s->csize_mask) + 1; s->csize_mask) + 1;
if (addend != 0) { if (addend != 0) {
ret = update_refcount(bs, ret = update_refcount(bs,
(offset & s->cluster_offset_mask) & ~511, (entry & s->cluster_offset_mask) & ~511,
nb_csectors * 512, abs(addend), addend < 0, nb_csectors * 512, abs(addend), addend < 0,
QCOW2_DISCARD_SNAPSHOT); QCOW2_DISCARD_SNAPSHOT);
if (ret < 0) { if (ret < 0) {
@ -1143,18 +1146,17 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
case QCOW2_CLUSTER_NORMAL: case QCOW2_CLUSTER_NORMAL:
case QCOW2_CLUSTER_ZERO: case QCOW2_CLUSTER_ZERO:
if (offset_into_cluster(s, offset & L2E_OFFSET_MASK)) { if (offset_into_cluster(s, offset)) {
qcow2_signal_corruption(bs, true, -1, -1, "Data " qcow2_signal_corruption(bs, true, -1, -1, "Data "
"cluster offset %#llx " "cluster offset %#" PRIx64
"unaligned (L2 offset: %#" " unaligned (L2 offset: %#"
PRIx64 ", L2 index: %#x)", PRIx64 ", L2 index: %#x)",
offset & L2E_OFFSET_MASK, offset, l2_offset, j);
l2_offset, j);
ret = -EIO; ret = -EIO;
goto fail; goto fail;
} }
cluster_index = (offset & L2E_OFFSET_MASK) >> s->cluster_bits; cluster_index = offset >> s->cluster_bits;
if (!cluster_index) { if (!cluster_index) {
/* unallocated */ /* unallocated */
refcount = 0; refcount = 0;
@ -1184,14 +1186,14 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
} }
if (refcount == 1) { if (refcount == 1) {
offset |= QCOW_OFLAG_COPIED; entry |= QCOW_OFLAG_COPIED;
} }
if (offset != old_offset) { if (entry != old_entry) {
if (addend > 0) { if (addend > 0) {
qcow2_cache_set_dependency(bs, s->l2_table_cache, qcow2_cache_set_dependency(bs, s->l2_table_cache,
s->refcount_block_cache); s->refcount_block_cache);
} }
l2_table[j] = cpu_to_be64(offset); l2_table[j] = cpu_to_be64(entry);
qcow2_cache_entry_mark_dirty(bs, s->l2_table_cache, qcow2_cache_entry_mark_dirty(bs, s->l2_table_cache,
l2_table); l2_table);
} }