[CRIU] [PATCH 01/14] namespace: don't fail if a namespace isn't supported by kernel
Pavel Emelyanov
xemul at parallels.com
Tue Oct 14 08:18:36 PDT 2014
On 10/14/2014 03:38 PM, Andrey Vagin wrote:
> CRIU reads /proc/pid/ns/[NS] and fails of a link is not exist.
>
> Signed-off-by: Andrey Vagin <avagin at openvz.org>
> ---
> namespaces.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/namespaces.c b/namespaces.c
> index 1feb165..bd7d86e 100644
> --- a/namespaces.c
> +++ b/namespaces.c
> @@ -230,6 +230,11 @@ static unsigned int __get_ns_id(int pid, struct ns_desc *nd, struct ns_id **ns)
> sprintf(ns_path, "ns/%s", nd->str);
> ret = readlinkat(proc_dir, ns_path, ns_id, sizeof(ns_id));
> if (ret < 0) {
> + if (errno == ENOENT) {
> + /* The namespace is unsupported */
> + kid = 0;
Then it should "live" in CRIU's namespace.
> + goto out;
> + }
> pr_perror("Can't readlink ns link");
> return 0;
> }
> @@ -237,6 +242,7 @@ static unsigned int __get_ns_id(int pid, struct ns_desc *nd, struct ns_id **ns)
> kid = parse_ns_link(ns_id, ret, nd);
> BUG_ON(!kid);
>
> +out:
> return generate_ns_id(pid, kid, nd, ns);
> }
>
>
More information about the CRIU
mailing list