Re: [Xen-devel] [PATCH v4 3/4] xenstore: rework of transaction handling

2017-03-31 Thread Juergen Gross
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); + } >>>

Re: [Xen-devel] [PATCH v4 3/4] xenstore: rework of transaction handling

2017-03-31 Thread Wei Liu
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

Re: [Xen-devel] [PATCH v4 3/4] xenstore: rework of transaction handling

2017-03-30 Thread Juergen Gross
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

Re: [Xen-devel] [PATCH v4 3/4] xenstore: rework of transaction handling

2017-03-30 Thread Wei Liu
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

[Xen-devel] [PATCH v4 3/4] xenstore: rework of transaction handling

2017-03-30 Thread Juergen Gross
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