[CRIU] Re: [PATCH 3/6] tty: Add checkpoint/restore for unix terminals v5

Pavel Emelyanov xemul at parallels.com
Tue Sep 11 10:25:27 EDT 2012


On 09/11/2012 06:24 PM, Cyrill Gorcunov wrote:
> On Tue, Sep 11, 2012 at 06:14:01PM +0400, Pavel Emelyanov wrote:
>>
>> This all looks very good. One question:
>>
>>> +static int pty_get_flags(int lfd, int major, int index, TtyInfoEntry *e)
>>> +{
>>> +	int slave;
>>> +
>>> +	e->locked	= false;
>>> +	e->exclusive	= false;
>>> +	e->packet_mode	= false;
>>
> ...
>>> +	/*
>>> +	 * FIXME
>>> +	 *
>>> +	 * PTYs are safe to use packet mode. While there
>>> +	 * is no way to fetch packet mode settings from
>>> +	 * the kernel, without it we see echos missing
>>> +	 * in `screen' application restore.
>>> +	 */
>>> +	if (ioctl(master, TIOCPKT, &pktmode) < 0) {
>>> +		pr_perror("Can't set packed mode");
>>> +		goto err;
>>> +	}
>>
>> Why do we set packet mode in the image to false and treat it as true on restore?
> 
> That's drawback from kernel. Look, the situation is that -- we can't fetch this
> flag from kernel without kernel patching but it's been found that without this
> flag set the "screen" doesn't wotk well. Thus I had to do a decision -- either
> write this flag as "true" on dump time and put a fixme telling why we do that,
> or write it to false since we can't fetch it but treat as true on restore and
> add fixme in another code area.
> 
> I thought that write "true" in PB image will be more incorrect.

Thus put "true" there,  not "false".

> 	Cyrill
> .
> 



More information about the CRIU mailing list