diff options
Diffstat (limited to 'system/xen/xsa/xsa206-4.8-0003-oxenstored-comments-explaining-some-variables.patch')
-rw-r--r-- | system/xen/xsa/xsa206-4.8-0003-oxenstored-comments-explaining-some-variables.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/system/xen/xsa/xsa206-4.8-0003-oxenstored-comments-explaining-some-variables.patch b/system/xen/xsa/xsa206-4.8-0003-oxenstored-comments-explaining-some-variables.patch new file mode 100644 index 0000000000..e878a385f0 --- /dev/null +++ b/system/xen/xsa/xsa206-4.8-0003-oxenstored-comments-explaining-some-variables.patch @@ -0,0 +1,65 @@ +From d94645f1eb00e2703aef57cac19df9e86c54d275 Mon Sep 17 00:00:00 2001 +From: Thomas Sanders <thomas.sanders@citrix.com> +Date: Tue, 14 Mar 2017 12:15:52 +0000 +Subject: [PATCH 03/15] oxenstored: comments explaining some variables + +It took a while of reading and reasoning to work out what these are +for, so here are comments to make life easier for everyone reading +this code in future. + +Reported-by: Juergen Gross <jgross@suse.com> +Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com> +Reviewed-by: Jonathan Davies <jonathan.davies@citrix.com> +Reviewed-by: Ian Jackson <ian.jackson@eu.citrix.com> +Reviewed-by: Christian Lindig <christian.lindig@citrix.com> +--- + tools/ocaml/xenstored/store.ml | 1 + + tools/ocaml/xenstored/transaction.ml | 10 +++++++--- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/tools/ocaml/xenstored/store.ml b/tools/ocaml/xenstored/store.ml +index 223ee21..9f619b8 100644 +--- a/tools/ocaml/xenstored/store.ml ++++ b/tools/ocaml/xenstored/store.ml +@@ -211,6 +211,7 @@ let apply rnode path fct = + lookup rnode path fct + end + ++(* The Store.t type *) + type t = + { + mutable stat_transaction_coalesce: int; +diff --git a/tools/ocaml/xenstored/transaction.ml b/tools/ocaml/xenstored/transaction.ml +index 6b37fc2..51d5d6a 100644 +--- a/tools/ocaml/xenstored/transaction.ml ++++ b/tools/ocaml/xenstored/transaction.ml +@@ -69,11 +69,15 @@ let can_coalesce oldroot currentroot path = + else + false + +-type ty = No | Full of (int * Store.Node.t * Store.t) ++type ty = No | Full of ( ++ int * (* Transaction id *) ++ Store.Node.t * (* Original root *) ++ Store.t (* A pointer to the canonical store: its root changes on each transaction-commit *) ++) + + type t = { + ty: ty; +- store: Store.t; ++ store: Store.t; (* This is the store that we change in write operations. *) + quota: Quota.t; + mutable paths: (Xenbus.Xb.Op.operation * Store.Path.t) list; + mutable operations: (Packet.request * Packet.response) list; +@@ -155,7 +159,7 @@ let commit ~con t = + let has_commited = + match t.ty with + | No -> true +- | Full (id, oldroot, cstore) -> ++ | Full (id, oldroot, cstore) -> (* "cstore" meaning current canonical store *) + let commit_partial oldroot cstore store = + (* get the lowest path of the query and verify that it hasn't + been modified by others transactions. *) +-- +2.1.4 + |