[PATCH] user-cr: Add --netns switch to user-cr checkpoint

Serge E. Hallyn serue at us.ibm.com
Mon Apr 5 06:24:02 PDT 2010


Quoting Dan Smith (danms at us.ibm.com):
> This allows the caller to set the CHECKPOINT_NETNS flag on the checkpoint
> operation, thus triggering the checkpoint of network namespaces.
> 
> Signed-off-by: Dan Smith <danms at us.ibm.com>

Acked-by: Serge Hallyn <serue at us.ibm.com>

> ---
>  app-checkpoint.h  |    1 +
>  checkpoint-main.c |    8 +++++++-
>  2 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/app-checkpoint.h b/app-checkpoint.h
> index f740085..c078f04 100644
> --- a/app-checkpoint.h
> +++ b/app-checkpoint.h
> @@ -5,6 +5,7 @@ struct app_checkpoint_args {
>  	int uerrfd;
>  	int container;
>  	int verbose;
> +	int flags;
>  };
> 
>  struct app_restart_args {
> diff --git a/checkpoint-main.c b/checkpoint-main.c
> index f6faa32..3fde9b6 100644
> --- a/checkpoint-main.c
> +++ b/checkpoint-main.c
> @@ -30,6 +30,7 @@ static char usage_str[] =
>  "  -l,--logfile=FILE     write error and debug data to FILE (default=none)\n"
>  "     --logile-fd=FD     write error and debug data to file descriptor FD\n"
>  "  -c,--container        require the PID is a container-init\n"
> +"  -N,--netns            checkpoint network namespace(s)\n"
>  "  -v,--verbose          verbose output\n"
>  "";
> 
> @@ -61,9 +62,10 @@ static void parse_args(struct app_checkpoint_args *args, int argc, char *argv[])
>  		{ "logfile-fd",	required_argument,	NULL, 2 },
>  		{ "container",	no_argument,		NULL, 'c' },
>  		{ "verbose",	no_argument,		NULL, 'v' },
> +		{ "netns",	no_argument,		NULL, 'N' },
>  		{ NULL,		0,			NULL, 0 }
>  	};
> -	static char optc[] = "hvco:l:";
> +	static char optc[] = "hvco:l:N";
>  	char *output;
>  	char *logfile;
> 
> @@ -109,6 +111,9 @@ static void parse_args(struct app_checkpoint_args *args, int argc, char *argv[])
>  		case 'v':
>  			args->verbose = 1;
>  			break;
> +		case 'N':
> +			args->flags |= CHECKPOINT_NETNS;
> +			break;
>  		default:
>  			usage(usage_str);
>  		}
> @@ -164,6 +169,7 @@ int main(int argc, char *argv[])
>  		exit(1);
>  	}
> 
> +	flags = args.flags;
>  	if (!args.container)
>  		flags |= CHECKPOINT_SUBTREE;
> 
> -- 
> 1.6.3.3
> 
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers


More information about the Containers mailing list