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,
> >> +
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
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);
> +}
>
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