On Tue, Jan 3, 2012 at 3:07 PM, Pravin B Shelar <pshe...@nicira.com> wrote: > genl_lock is not exported from older kernel. Following patch add > genl_exec() which can run any function (passed as arg) with > genl_lock held. > > Signed-off-by: Pravin B Shelar <pshe...@nicira.com>
I noticed a few random small things, none of which are particularly important. Overall it looks good though, so: Acked-by: Jesse Gross <je...@nicira.com> > diff --git a/datapath/genl_exec.c b/datapath/genl_exec.c > new file mode 100644 > index 0000000..9647302 > --- /dev/null > +++ b/datapath/genl_exec.c > +int genl_exec(genl_exec_func_t func, void *data) [...] > + if (!ret) { > + wait_for_completion(&done); > + ret = genl_exec_function_ret; > + } else > + pr_err("genl_exec send error %d\n", ret); Usual kernel style is to have braces around the second half as well. > + /* Wait for genetlink to kfree skb. */ > + while (atomic_read(&genlmsg_skb->users) != 1) Can you use skb_shared() here instead of the open coded version (good catch on the race though)? > new file mode 100644 > index 0000000..5121092 > --- /dev/null > +++ b/datapath/genl_exec.h > +#ifndef __GENL_EXEC_H > +#define __GENL_EXEC_H 1 For the other files in this directory, we don't have underscores in front of the defines. > +#include <linux/version.h> Does anything actually use this include? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev