[lxc-devel] [RFC 3/5] added stop-hook entries

Serge Hallyn serge.hallyn at ubuntu.com
Mon Sep 28 15:07:10 UTC 2015


Quoting Wolfgang Bumiller (w.bumiller at proxmox.com):

No signed-off-by

Note this will need a very good description in the documentation,
to explain that this will run as a child of the monitor in the
container's namespace, and iiuc with the container under
$rootfs.  so it will want to umount under i.e. LXC_ROOTFS_MOUNT.

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  src/lxc/conf.c    | 4 +++-
>  src/lxc/conf.h    | 2 +-
>  src/lxc/confile.c | 3 +++
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index 0913b22..f81efcd 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -163,7 +163,7 @@ return -1;
>  #endif
>  
>  char *lxchook_names[NUM_LXC_HOOKS] = {
> -	"pre-start", "pre-mount", "mount", "autodev", "start", "post-stop", "clone", "destroy" };
> +	"pre-start", "pre-mount", "mount", "autodev", "start", "stop", "post-stop", "clone", "destroy" };
>  
>  typedef int (*instantiate_cb)(struct lxc_handler *, struct lxc_netdev *);
>  
> @@ -3878,6 +3878,8 @@ int run_lxc_hooks(const char *name, char *hook, struct lxc_conf *conf,
>  		which = LXCHOOK_AUTODEV;
>  	else if (strcmp(hook, "start") == 0)
>  		which = LXCHOOK_START;
> +	else if (strcmp(hook, "stop") == 0)
> +		which = LXCHOOK_STOP;
>  	else if (strcmp(hook, "post-stop") == 0)
>  		which = LXCHOOK_POSTSTOP;
>  	else if (strcmp(hook, "clone") == 0)
> diff --git a/src/lxc/conf.h b/src/lxc/conf.h
> index 5aebd91..1374d4a 100644
> --- a/src/lxc/conf.h
> +++ b/src/lxc/conf.h
> @@ -279,7 +279,7 @@ enum {
>   */
>  enum lxchooks {
>  	LXCHOOK_PRESTART, LXCHOOK_PREMOUNT, LXCHOOK_MOUNT, LXCHOOK_AUTODEV,
> -	LXCHOOK_START, LXCHOOK_POSTSTOP, LXCHOOK_CLONE, LXCHOOK_DESTROY,
> +	LXCHOOK_START, LXCHOOK_STOP, LXCHOOK_POSTSTOP, LXCHOOK_CLONE, LXCHOOK_DESTROY,
>  	NUM_LXC_HOOKS};
>  extern char *lxchook_names[NUM_LXC_HOOKS];
>  
> diff --git a/src/lxc/confile.c b/src/lxc/confile.c
> index 670d957..f7d6814 100644
> --- a/src/lxc/confile.c
> +++ b/src/lxc/confile.c
> @@ -137,6 +137,7 @@ static struct lxc_config_t config[] = {
>  	{ "lxc.hook.mount",           config_hook                 },
>  	{ "lxc.hook.autodev",         config_hook                 },
>  	{ "lxc.hook.start",           config_hook                 },
> +	{ "lxc.hook.stop",            config_hook                 },
>  	{ "lxc.hook.post-stop",       config_hook                 },
>  	{ "lxc.hook.clone",           config_hook                 },
>  	{ "lxc.hook.destroy",         config_hook                 },
> @@ -1085,6 +1086,8 @@ static int config_hook(const char *key, const char *value,
>  		return add_hook(lxc_conf, LXCHOOK_MOUNT, copy);
>  	else if (strcmp(key, "lxc.hook.start") == 0)
>  		return add_hook(lxc_conf, LXCHOOK_START, copy);
> +	else if (strcmp(key, "lxc.hook.stop") == 0)
> +		return add_hook(lxc_conf, LXCHOOK_STOP, copy);
>  	else if (strcmp(key, "lxc.hook.post-stop") == 0)
>  		return add_hook(lxc_conf, LXCHOOK_POSTSTOP, copy);
>  	else if (strcmp(key, "lxc.hook.clone") == 0)
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel


More information about the lxc-devel mailing list