[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 1/7] xenstore: fix add_change_node()



On Thu, Oct 27, 2016 at 11:55:52AM +0200, Juergen Gross wrote:
> add_change_node() in xenstored is used to add a modified node to the
> list of changed nodes of one transaction. It is being called with the
> recurse parameter set to true when removing a node in order to get
> watches for children of the node fired at transaction end, too.
> 
> If, however, the node to be deleted had been modified in the same
> transaction the recurse parameter of add_change_node() is lost as
> an entry already in the list of the changed nodes won't be entered
> again.
> 
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>

Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>

I think we should apply this to 4.8, too. I will wait a bit for
different opinions.

(I've only looked at this patch in this series because I caught the
"fix" in subject line)

> ---
> Candidate for backport
> ---
>  tools/xenstore/xenstored_transaction.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/xenstore/xenstored_transaction.c 
> b/tools/xenstore/xenstored_transaction.c
> index 34720fa..3c0b8f7 100644
> --- a/tools/xenstore/xenstored_transaction.c
> +++ b/tools/xenstore/xenstored_transaction.c
> @@ -103,8 +103,11 @@ void add_change_node(struct transaction *trans, const 
> char *node, bool recurse)
>       }
>  
>       list_for_each_entry(i, &trans->changes, list)
> -             if (streq(i->node, node))
> +             if (streq(i->node, node)) {
> +                     if (recurse)
> +                             i->recurse = recurse;
>                       return;
> +             }

I would like to add {} around list_for_each_entry. No need to resend.

Wei.

>  
>       i = talloc(trans, struct changed_node);
>       i->node = talloc_strdup(i, node);
> -- 
> 2.6.6
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.