qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC V7 32/32] qcow2: Enable the deduplication feature.


From: Benoît Canet
Subject: [Qemu-devel] [RFC V7 32/32] qcow2: Enable the deduplication feature.
Date: Fri, 15 Mar 2013 15:49:46 +0100

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

diff --git a/block/qcow2.c b/block/qcow2.c
index 96fc86a..135c71e 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -531,6 +531,13 @@ static int qcow2_open(BlockDriverState *bs, int flags)
         }
     }
 
+    if (s->incompatible_features & QCOW2_INCOMPAT_DEDUP) {
+        ret = qcow2_dedup_init(bs);
+        if (ret < 0) {
+            goto fail;
+        }
+    }
+
 #ifdef DEBUG_ALLOC
     {
         BdrvCheckResult result = {0};
@@ -1006,8 +1013,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);
 
@@ -1498,6 +1510,12 @@ static int qcow2_create2(const char *filename, int64_t 
total_size,
         if (ret < 0) {
             goto out;
         }
+
+        /* minimal init */
+        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]