]> xenbits.xensource.com Git - xen.git/commit
oxenstored: keep track of each transaction's operations
authorJonathan Davies <jonathan.davies@citrix.com>
Thu, 17 Mar 2016 17:51:12 +0000 (17:51 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 24 Mar 2016 14:26:54 +0000 (14:26 +0000)
commit0ae7f678bcc593bfd46ebe0a38d64e2aa609abd5
tree1f40a32bd7c0833e2bf73b539a7216c09ee68c08
parent363ae55c8ac4e88987c6df098f530c47956f55be
oxenstored: keep track of each transaction's operations

A list of (request, response) pairs from the operations performed within the
transaction will be useful to support transaction replay.

Since this consumes memory, the number of requests per transaction must not be
left unbounded. Hence a new quota for this is introduced. This quota, configured
via the configuration key 'quota-maxrequests', limits the size of transactions
initiated by domUs.

After the maximum number of requests has been exhausted, any further requests
will result in EQUOTA errors. The client may then choose to end the transaction;
a successful commit will result in the retention of only the prior requests.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jon Ludlam <jonathan.ludlam@citrix.com>
Reviewed-by: Euan Harris <euan.harris@citrix.com>
Acked-by: David Scott <dave@recoil.org>
tools/ocaml/xenstored/define.ml
tools/ocaml/xenstored/oxenstored.conf
tools/ocaml/xenstored/process.ml
tools/ocaml/xenstored/transaction.ml
tools/ocaml/xenstored/xenstored.ml