]> xenbits.xensource.com Git - xen.git/commit
oxenstored: allow self-conflicts
authorThomas Sanders <thomas.sanders@citrix.com>
Thu, 23 Mar 2017 19:06:54 +0000 (19:06 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 5 Apr 2017 14:22:33 +0000 (15:22 +0100)
commit7b7fd80a529c94efd93a4eaaad5f0213ce0682e0
tree0a3a49e36df665f4f0fceb3816bdf7a244d9b11e
parentb30e1658d6f31552b86fdb0f97eb31a99371fc0b
oxenstored: allow self-conflicts

We already avoid inter-domain conflicts but now allow intra-domain
conflicts.  Although there are no known practical examples of a domain
that might perform operations that conflict with its own transactions,
this is conceivable, so here we avoid changing those semantics
unnecessarily.

When a transaction commit fails with a conflict and we look through
the history of commits to see which connection(s) to blame, ignore
historical commits that were made by the same connection as the
failing commit.

Reported-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
Reviewed-by: Jonathan Davies <jonathan.davies@citrix.com>
tools/ocaml/xenstored/history.ml
tools/ocaml/xenstored/process.ml