[CRIU] [PATCH v3 10/16] cr-restore: prepare shared information before namespaces

Stanislav Kinsburskiy skinsbursky at odin.com
Mon Dec 21 03:57:19 PST 2015



14.12.2015 12:17, Pavel Emelyanov пишет:
> On 12/10/2015 06:17 PM, Stanislav Kinsburskiy wrote:
>> Autofs mount restore will can create additional file descriptors. They have to
>> be shared between process.
>> Thus shared information have to be prepaired before mounts restore.
>>
>> Signed-off-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
>> ---
>>   cr-restore.c |    4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/cr-restore.c b/cr-restore.c
>> index 8f3d28f..1452735 100644
>> --- a/cr-restore.c
>> +++ b/cr-restore.c
>> @@ -1538,10 +1538,10 @@ static int restore_task_with_children(void *_arg)
>>   		if (mount_proc())
>>   			goto err;
>>   
>> -		if (prepare_namespace(current, ca->clone_flags))
>> +		if (root_prepare_shared())
> Hm... Did test pass with this change? The root_prepare_shared() call prepare_remaps()
> which require the mount namespaces' prepared.

That was true: tests are failing because of this change.
AutoFS have to store it's objects into shared memory. While shared 
memory needs namespaces to be restores.
The only way I see so far is call one more callback for autofs mounts 
_after_ shared memory is restored.
I would like to get an advice, how to solve this situation.

>>   			goto err;
>>   
>> -		if (root_prepare_shared())
>> +		if (prepare_namespace(current, ca->clone_flags))
>>   			goto err;
>>   
>>   		if (restore_finish_stage(CR_STATE_RESTORE_SHARED) < 0)
>>
>> _______________________________________________
>> CRIU mailing list
>> CRIU at openvz.org
>> https://lists.openvz.org/mailman/listinfo/criu
>> .
>>



More information about the CRIU mailing list