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

2017-03-30 Thread Wei Liu
On Thu, Mar 30, 2017 at 02:36:15PM +0200, Juergen Gross wrote: > On 30/03/17 13:17, Wei Liu wrote: > > On Tue, Mar 28, 2017 at 06:26:14PM +0200, Juergen Gross wrote: > > [...] > >> + > >> +static char *transaction_get_node_name(void *ctx, struct transaction > >> *trans, > >> +

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

2017-03-30 Thread Juergen Gross
On 30/03/17 13:17, Wei Liu wrote: > On Tue, Mar 28, 2017 at 06:26:14PM +0200, Juergen Gross wrote: > [...] >> + >> +static char *transaction_get_node_name(void *ctx, struct transaction *trans, >> + const char *name) >> +{ >> +return talloc_asprintf(ctx, "%"PRIu

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

2017-03-30 Thread Wei Liu
On Tue, Mar 28, 2017 at 06:26:14PM +0200, Juergen Gross wrote: [...] > + > +static char *transaction_get_node_name(void *ctx, struct transaction *trans, > +const char *name) > +{ > + return talloc_asprintf(ctx, "%"PRIu64"/%s", trans->generation, name); > +} >

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

2017-03-28 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