qemu-devel
[Top][All Lists]
Advanced

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

[RFC PATCH v3 19/27] qcow2: Add subcluster support to expand_zero_cluste


From: Alberto Garcia
Subject: [RFC PATCH v3 19/27] qcow2: Add subcluster support to expand_zero_clusters_in_l1()
Date: Sun, 22 Dec 2019 12:37:00 +0100

Two changes are needed in order to add subcluster support to this
function: deallocated clusters must have their bitmaps cleared, and
expanded clusters must have all the "subcluster allocated" bits set.

Signed-off-by: Alberto Garcia <address@hidden>
---
 block/qcow2-cluster.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index 207f670c94..ede75138d2 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -2054,6 +2054,9 @@ static int expand_zero_clusters_in_l1(BlockDriverState 
*bs, uint64_t *l1_table,
                         /* not backed; therefore we can simply deallocate the
                          * cluster */
                         set_l2_entry(s, l2_slice, j, 0);
+                        if (has_subclusters(s)) {
+                            set_l2_bitmap(s, l2_slice, j, 0);
+                        }
                         l2_dirty = true;
                         continue;
                     }
@@ -2120,6 +2123,9 @@ static int expand_zero_clusters_in_l1(BlockDriverState 
*bs, uint64_t *l1_table,
                 } else {
                     set_l2_entry(s, l2_slice, j, offset);
                 }
+                if (has_subclusters(s)) {
+                    set_l2_bitmap(s, l2_slice, j, QCOW_L2_BITMAP_ALL_ALLOC);
+                }
                 l2_dirty = true;
             }
 
-- 
2.20.1




reply via email to

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