SH> Also, args does get memset to 0 before parse_args() gets called so SH> you don't need to set args->flag to 0 there. I wanted it to be really, really zeroed. -- Dan Smith IBM Linux Technology Center email: danms@xxxxxxxxxx Add --nonetns switch to user-cr checkpoint (v2) This allows the caller to set the CHECKPOINT_NONETNS flag on the checkpoint operation, thus skipping the checkpointing of network namespaces entirely. Changes in v2: - Allow -N for --nonetns - Remove extra flags initialization Signed-off-by: Dan Smith <danms@xxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> 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..85b4133 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,--nonetns do not 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' }, + { "nonetns", 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_NONETNS; + 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; _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers