|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-api
[Xen-API] [PATCH] CA-35392: The snapshot parent links are not	correctly  
| # HG changeset patch
# User Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
CA-35392: The snapshot parent links are not correctly updated on upgrade.
Also add some debugging information when the upgrade happens.
Signed-off-by: Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
diff -r a9c9139575d3 ocaml/database/db_upgrade.ml
--- a/ocaml/database/db_upgrade.ml      Fri Dec 11 13:14:49 2009 +0000
+++ b/ocaml/database/db_upgrade.ml      Fri Dec 11 13:25:24 2009 +0000
@@ -216,19 +216,18 @@
        let update_snapshots vm_row =
                let vm = lookup_field_in_row vm_row Names.ref in
                let snapshot_rows = List.filter (fun s -> lookup_field_in_row s 
Names.snapshot_of = vm) vm_rows in
-               let snapshot_rows = List.filter (fun s -> lookup_field_in_row s 
Names.parent = Ref.string_of Ref.null) snapshot_rows in
                let compare s1 s2 =
                        let t1 = lookup_field_in_row s1 Names.snapshot_time in
                        let t2 = lookup_field_in_row s2 Names.snapshot_time in
                        compare t1 t2 in
                let ordered_snapshot_rows = List.sort compare snapshot_rows in
+               debug "Snapshots(%s) = {%s}" vm (String.concat ", " (List.map 
(fun s -> lookup_field_in_row s Names.ref) ordered_snapshot_rows));
                let rec aux = function
-                       | [] -> ()
-                       | [s] -> set_field_in_row s Names.parent vm;
+                       | [] | [_] -> ()
                        | s1 :: s2 :: t ->
                                set_field_in_row s2 Names.parent 
(lookup_field_in_row s1 Names.ref);
                                aux (s2 :: t) in
-               aux ordered_snapshot_rows in
+               aux (ordered_snapshot_rows @ [ vm_row]) in
        List.iter update_snapshots vm_rows
 
 (** A list of all the custom database upgrade rules known to the system. *)
 xapi-fix-snapshot-parents-on-upgrade Description: Text document
 _______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-API] [PATCH] CA-35392: The snapshot parent links are not	correctly updated on upgrade.,
Thomas Gazagnaire <=
 |  |  | 
  
    |  |  |