Revision 1869a653
b/block/qcow2-refcount.c | ||
---|---|---|
705 | 705 |
BDRVQcowState *s = bs->opaque; |
706 | 706 |
uint64_t *l1_table, *l2_table, l2_offset, offset, l1_size2, l1_allocated; |
707 | 707 |
int64_t old_offset, old_l2_offset; |
708 |
int l2_size, i, j, l1_modified, l2_modified, nb_csectors, refcount;
|
|
708 |
int i, j, l1_modified, nb_csectors, refcount;
|
|
709 | 709 |
int ret; |
710 | 710 |
|
711 | 711 |
l2_table = NULL; |
... | ... | |
729 | 729 |
l1_allocated = 0; |
730 | 730 |
} |
731 | 731 |
|
732 |
l2_size = s->l2_size * sizeof(uint64_t); |
|
733 | 732 |
l1_modified = 0; |
734 | 733 |
for(i = 0; i < l1_size; i++) { |
735 | 734 |
l2_offset = l1_table[i]; |
736 | 735 |
if (l2_offset) { |
737 | 736 |
old_l2_offset = l2_offset; |
738 | 737 |
l2_offset &= ~QCOW_OFLAG_COPIED; |
739 |
l2_modified = 0; |
|
740 | 738 |
|
741 | 739 |
ret = qcow2_cache_get(bs, s->l2_table_cache, l2_offset, |
742 | 740 |
(void**) &l2_table); |
... | ... | |
788 | 786 |
s->refcount_block_cache); |
789 | 787 |
} |
790 | 788 |
l2_table[j] = cpu_to_be64(offset); |
791 |
l2_modified = 1; |
|
792 | 789 |
qcow2_cache_entry_mark_dirty(s->l2_table_cache, l2_table); |
793 | 790 |
} |
794 | 791 |
} |
Also available in: Unified diff