[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 05/36] qcow2: update_refcount(): Reset old_table_index after qcow2
From: |
Kevin Wolf |
Subject: |
[PULL 05/36] qcow2: update_refcount(): Reset old_table_index after qcow2_cache_put() |
Date: |
Tue, 18 Feb 2020 15:06:51 +0100 |
In the case that update_refcount() frees a refcount block, it evicts it
from the metadata cache. Before doing so, however, it returns the
currently used refcount block to the cache because it might be the same.
Returning the refcount block early means that we need to reset
old_table_index so that we reload the refcount block in the next
iteration if it is actually still in use.
Fixes: f71c08ea8e60f035485a512fd2af8908567592f0
Signed-off-by: Kevin Wolf <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block/qcow2-refcount.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index c963bc8de1..7ef1c0e42a 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -889,6 +889,7 @@ static int QEMU_WARN_UNUSED_RESULT
update_refcount(BlockDriverState *bs,
offset);
if (table != NULL) {
qcow2_cache_put(s->refcount_block_cache, &refcount_block);
+ old_table_index = -1;
qcow2_cache_discard(s->refcount_block_cache, table);
}
--
2.20.1
- [PULL 00/36] Block layer patches, Kevin Wolf, 2020/02/18
- [PULL 04/36] block/vvfat: Do not unref qcow on closing backing bdrv, Kevin Wolf, 2020/02/18
- [PULL 02/36] mirror: Don't let an operation wait for itself, Kevin Wolf, 2020/02/18
- [PULL 05/36] qcow2: update_refcount(): Reset old_table_index after qcow2_cache_put(),
Kevin Wolf <=
- [PULL 06/36] qcow2: Fix qcow2_alloc_cluster_abort() for external data file, Kevin Wolf, 2020/02/18
- [PULL 03/36] qcow2: Fix alignment checks in encrypted images, Kevin Wolf, 2020/02/18
- [PULL 01/36] mirror: Store MirrorOp.co for debuggability, Kevin Wolf, 2020/02/18
- [PULL 08/36] block/qcow2-bitmap: Remove unneeded variable assignment, Kevin Wolf, 2020/02/18
- [PULL 07/36] iotests: Test copy offloading with external data file, Kevin Wolf, 2020/02/18
- [PULL 09/36] qapi: Document meaning of 'ignore' BlockdevOnError for jobs, Kevin Wolf, 2020/02/18
- [PULL 12/36] commit: Inline commit_populate(), Kevin Wolf, 2020/02/18
- [PULL 11/36] commit: Fix argument order for block_job_error_action(), Kevin Wolf, 2020/02/18
- [PULL 14/36] commit: Expose on-error option in QMP, Kevin Wolf, 2020/02/18
- [PULL 10/36] commit: Remove unused bytes_written, Kevin Wolf, 2020/02/18