On 31/03/17 13:00, Wei Liu wrote:
> On Thu, Mar 30, 2017 at 06:41:11PM +0200, Juergen Gross wrote:
> [...]
>>>
node->generation = generation++;
- return;
+ if (conn && !conn->transaction)
+ wrl_apply_debit_direct(conn);
+ }
>>>
On Thu, Mar 30, 2017 at 06:41:11PM +0200, Juergen Gross wrote:
[...]
> >
> >>node->generation = generation++;
> >> - return;
> >> + if (conn && !conn->transaction)
> >> + wrl_apply_debit_direct(conn);
> >> + }
> >> +
> >> + if (!conn || !conn->trans
On 30/03/17 17:41, Wei Liu wrote:
> On Thu, Mar 30, 2017 at 03:11:48PM +0200, Juergen Gross wrote:
> [...]
>> +
>> +/*
>> + * A node has been accessed.
>> + *
>> + * Modifying accesses (write, delete) always update the generation (global
>> and
>> + * node->generation).
>> + *
>> + * Accesses in a
On Thu, Mar 30, 2017 at 03:11:48PM +0200, Juergen Gross wrote:
[...]
> +
> +/*
> + * A node has been accessed.
> + *
> + * Modifying accesses (write, delete) always update the generation (global
> and
> + * node->generation).
> + *
> + * Accesses in a transaction will be added to the list of acces
The handling of transactions in xenstored is rather clumsy today:
- Each transaction in progress is keeping a local copy of the complete
xenstore data base
- A transaction will fail as soon as any node is being modified outside
the transaction
This is leading to a very bad behavior in case of