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

Oren Laadan orenl at cs.columbia.edu
Sat Apr 24 21:51:24 PDT 2010


Pulled, thanks.

Serge E. Hallyn wrote:
> 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
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers
> 


More information about the Containers mailing list