[CRIU] [PATCH 17/18] sk-unix: Add ability to restore sockets with deleted vfs addresses

Kirill Tkhai ktkhai at virtuozzo.com
Mon Apr 10 02:32:40 PDT 2017


On 10.04.2017 12:22, Cyrill Gorcunov wrote:
> On Mon, Apr 10, 2017 at 12:16:22PM +0300, Kirill Tkhai wrote:
>>>  
>>>  	ui = container_of(d, struct unix_sk_info, d);
>>> +	gm = ui->ghost_master;
>>> +
>>> +	if (ui->flags & USK_GHOST_WAIT) {
>>> +		if (!(gm->flags & USK_ADDR_RDY))
>>> +			return 1;
>>
>> Kiryuha, if we return "1", this means restore of file_desc is not possible
>> at the moment, and the process may fall to sleep this case. So, it's need
>> to wake it up, when the restore of the file_desc may continue. I.e., we need
>> to use set_fds_event() in the places, where we set ui->flags |= USK_ADDR_RDY.
> 
> Aha! Thanks for the note! Will update this particular patch.

One more moment. Now it's not clear for me that there is no circular dependencies
between waiting of other deleted socket and waiting of binding of a peer to connect
to it. Are there no circular dependencies?


More information about the CRIU mailing list