On Thu, Oct 27, 2016 at 11:15:24AM +0100, Wei Liu wrote: > 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 <jgr...@suse.com> > > Reviewed-by: Wei Liu <wei.l...@citrix.com> > > 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. >
Added pair of braces and applied. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel