qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC V8 23/24] qcow2: Enable the deduplication feature.


From: Benoît Canet
Subject: [Qemu-devel] [RFC V8 23/24] qcow2: Enable the deduplication feature.
Date: Thu, 20 Jun 2013 16:26:31 +0200

---
 block/qcow2.c |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/block/qcow2.c b/block/qcow2.c
index f7b94dd..bb7bf74 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -569,6 +569,13 @@ static int qcow2_open(BlockDriverState *bs, QDict 
*options, int flags)
         goto fail;
     }
 
+    if (s->incompatible_features & QCOW2_INCOMPAT_DEDUP) {
+        ret = qcow2_dedup_init(bs);
+        if (ret < 0) {
+            goto fail;
+        }
+    }
+
 #ifdef DEBUG_ALLOC
     {
         BdrvCheckResult result = {0};
@@ -1043,8 +1050,13 @@ fail:
 static void qcow2_close(BlockDriverState *bs)
 {
     BDRVQcowState *s = bs->opaque;
+
     g_free(s->l1_table);
 
+    if (s->has_dedup) {
+        qcow2_dedup_close(bs);
+    }
+
     qcow2_cache_flush(bs, s->l2_table_cache);
     qcow2_cache_flush(bs, s->refcount_block_cache);
 
@@ -1547,6 +1559,11 @@ static int qcow2_create2(const char *filename, int64_t 
total_size,
         }
 
         qcow2_store_cleanup(&s->key_value_store);
+
+        ret = qcow2_dedup_init(bs);
+        if (ret < 0) {
+            goto out;
+        }
     }
 
     /* Want a backing file? There you go.*/
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]