diff options
Diffstat (limited to 'block/qcow2-refcount.c')
-rw-r--r-- | block/qcow2-refcount.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index 6d35e49..7488988 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -488,6 +488,11 @@ static int QEMU_WARN_UNUSED_RESULT update_refcount(BlockDriverState *bs, s->free_cluster_index = cluster_index; } refcount_block[block_index] = cpu_to_be16(refcount); + if (refcount == 0 && s->discard_passthrough[type]) { + /* Try discarding, ignore errors */ + /* FIXME Doing this cluster by cluster will be painfully slow */ + bdrv_discard(bs->file, cluster_offset, 1); + } } ret = 0; |