[CRIU] Re: [PATCH cr 09/11] restore: restore content of private mappings before forking children

Pavel Emelyanov xemul at parallels.com
Tue Oct 16 11:37:14 EDT 2012


On 10/15/2012 10:18 PM, Andrey Vagin wrote:
> On Mon, Oct 15, 2012 at 08:32:34PM +0400, Pavel Emelyanov wrote:
>>> +static int restore_anon_vma_content(pid_t pid)
>>> +{
>>> +	struct vma_area *vma;
>>> +	int fd, ret = 0;
>>> +
>>> +	vma = list_first_entry(&vma_list, struct vma_area, list);
>>> +
>>> +	fd = open_image_ro(CR_FD_PAGES, pid);
>>> +	if (fd < 0)
>>> +		return -1;
>>> +
>>> +	/*
>>> +	 * Read page contents.
>>> +	 */
>>> +	while (1) {
>>> +		u64 va;
>>> +		char buf[PAGE_SIZE];
>>
>> Ugly as sin. Will we fix this thing?
> Could you explain why this is ugly?
> 
> I'm going to add a fast path, which will compare pfn-s and only
> if pfn-s are equal, pages will be compared.
> 
> The best way is detect a shared pages during dumping.
> 
> Is it answer on your question?

Mostly.

>>
>>> +		void *p;
>>> +
>>
> .
> 




More information about the CRIU mailing list