<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p><br>
</p>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri,Arial,Helvetica,sans-serif,&quot;EmojiFont&quot;,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,NotoColorEmoji,&quot;Segoe UI Symbol&quot;,&quot;Android Emoji&quot;,EmojiSymbols;" dir="ltr">
<font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>От:</b> Andrey Vagin</font><br>
<div style="color: rgb(0, 0, 0);">
<div>
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>Отправлено:</b> 5 мая 2017 г. 0:32<br>
<b>Кому:</b> Kirill Tkhai<br>
<b>Копия:</b> criu@openvz.org; Pavel Tikhomirov; Pavel Emelianov<br>
<b>Тема:</b> Re: [PATCH v4 05/41] cr-restore: Open transport socket earlier</font>
<div>&nbsp;</div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">&gt;&gt; --- a/criu/pstree.c<br>
&gt;&gt; &#43;&#43;&#43; b/criu/pstree.c<br>
&gt;&gt; @@ -258,7 &#43;258,7 @@ struct pstree_item *__alloc_pstree_item(bool rst, int level)<br>
&gt;&gt;&nbsp; void init_pstree_helper(struct pstree_item *ret)<br>
&gt;&gt;&nbsp; {<br>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret-&gt;pid-&gt;state = TASK_HELPER;<br>
&gt;&gt; -&nbsp;&nbsp;&nbsp;&nbsp; rsti(ret)-&gt;clone_flags = CLONE_FILES | CLONE_FS;<br>
&gt;&gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp; rsti(ret)-&gt;clone_flags = 0;<br>
<br>
&gt;Why do we need this ^^^<br>
<br>
It's need because helper tasks want to have transport sockets too.<br>
But a helper has a transport socket, it must have either <br>
1) its own <span></span>files (i.e., when there is no CLONE_FS),<br>
2) or <span>prepare_fds</span>() in <span>restore_one_task</span>() to resolve shared fdt<br>
with other tasks.<br>
<br>
Here is the first way. If you want the second way, see the attached<br>
file (it may be split in two or three patches).<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>