[lxc-devel] [PATCH] In lxc.mount.auto, skip on ENONENT

Serge Hallyn serge.hallyn at ubuntu.com
Sun Feb 1 07:20:37 UTC 2015


Quoting Stéphane Graber (stgraber at ubuntu.com):
> This resolves the case where /proc/sysrq-trigger doesn't exist by simply
> ignoring any mount failure on ENOENT. With the current mount list, this
> will always result in a safe environment (typically the read-only
> underlay).
> 
> Closes #425
> 
> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
> ---
>  src/lxc/conf.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index fbe82b5..5a99324 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -798,7 +798,11 @@ static int lxc_mount_auto_mounts(struct lxc_conf *conf, int flags, struct lxc_ha
>  					default_mounts[i].flags);
>  			r = mount(source, destination, default_mounts[i].fstype, mflags, default_mounts[i].options);
>  			saved_errno = errno;
> -			if (r < 0)
> +			if (r < 0 && errno == ENOENT) {
> +				INFO("Mount source or target for %s on %s doesn't exist. Skipping.", source, destination);
> +				r = 0;
> +			}
> +			else

This will print an error when mount succeeded.

>  				SYSERROR("error mounting %s on %s flags %lu", source, destination, mflags);
>  
>  			free(source);
> -- 
> 1.9.1
> 
> _______________________________________________
> 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