[Drbd-dev] [PATCH 1/2] exec: allow core_pipe recursion check to look for a value of 1 rather than 0 (v2)
Oleg Nesterov
oleg at redhat.com
Sun Jan 31 15:46:06 CET 2010
On 01/29, Neil Horman wrote:
>
> Add init function to usermodehelper
>
> Convert call_usermodehelper_cleanup to usermodehelper_fns and allow it to assign
> both an init function and a cleanup function.
Can't apply this patch, I guess -mm tree has other changes which
this patch depends on. However afaics this series is fine, just
a couple of nits.
> @@ -154,7 +155,9 @@ struct subprocess_info {
> enum umh_wait wait;
> int retval;
> struct file *stdin;
> - void (*cleanup)(char **argv, char **envp);
> + int (*init)(void *data);
> + void (*cleanup)(char **argv, char **envp, void *data);
> + void *data;
OK, we add *data. But why this patch changes the prototype of ->cleanup() ?
OTOH, I completely agree, it should be changed, and it should lose the
ugly argv/envp arguments.
Since we add subprocess_info->data ptr, I think both ->init and ->cleanup
funcs should have the single arg, "subprocess_info *info". argv, envp, data
they all can be accessed via *info.
Also. It is not clear why this patch changes call_usermodehelper_setup()
to set info->data. Unless the caller uses call_usermodehelper_setinit()
or call_usermodehelper_setcleanup() info->data is not used. Perhaps
it is better to have a single helper which takes (init, cleanup, data)
args.
What do you think?
In any case, I believe you should fix the subjects ;)
Oleg.
More information about the drbd-dev
mailing list