[Qemu-devel] [PATCH] qcow2: initialize metadata before inserting in cluster_allocs

2011-09-08 Thread Frediano Ziglio
QCow2Meta structure was inserted into list before many fields are
initialized. Currently is not a problem cause all occur in a lock
but if qcow2_alloc_clusters would in a future unlock this lock
some issues could arise.
Initializing fields before inserting fix the problem.

Signed-off-by: Frediano Ziglio fredd...@gmail.com
---
 block/qcow2-cluster.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index 113db8b..428b5ad 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -806,6 +806,11 @@ again:
 abort();
 }
 
+/* save info needed for meta data update */
+m-offset = offset;
+m-n_start = n_start;
+m-nb_clusters = nb_clusters;
+
 QLIST_INSERT_HEAD(s-cluster_allocs, m, next_in_flight);
 
 /* allocate a new cluster */
@@ -816,11 +821,6 @@ again:
 goto fail;
 }
 
-/* save info needed for meta data update */
-m-offset = offset;
-m-n_start = n_start;
-m-nb_clusters = nb_clusters;
-
 out:
 ret = qcow2_cache_put(bs, s-l2_table_cache, (void**) l2_table);
 if (ret  0) {
-- 
1.7.1




Re: [Qemu-devel] [PATCH] qcow2: initialize metadata before inserting in cluster_allocs

2011-09-08 Thread Kevin Wolf
Am 08.09.2011 13:38, schrieb Frediano Ziglio:
 QCow2Meta structure was inserted into list before many fields are
 initialized. Currently is not a problem cause all occur in a lock
 but if qcow2_alloc_clusters would in a future unlock this lock
 some issues could arise.
 Initializing fields before inserting fix the problem.
 
 Signed-off-by: Frediano Ziglio fredd...@gmail.com

Thanks, applied to the block branch.

Kevin