<div dir="ltr">Ok, I&#39;m trying to restore in a new namespace (I would prefer this solution to start the orted directly in a dedicated namespace), but I can&#39;t do it with C API. From command line via ssh:<div><br></div><div>ssh <a href="mailto:root@10.10.1.2">root@10.10.1.2</a> unshare -p --fork criu restore -D /tmp/ckpt_B2BLJ<br></div><div><br></div><div>it works (even if it provides some error messages), but using orted-restore in C API:</div><div><br></div><div><div>    unshare(CLONE_NEWPID);</div></div><div><div>    if (pid != 0) {</div><div>         ...</div><div>    }<br></div></div><div>    // getpid == 1 now</div><div>    dir = ...</div><div><div>    criu_init_opts();</div><div>    criu_set_images_dir_fd(dir);</div><div>    criu_set_log_file(&quot;criu_restore.log&quot;);<br></div><div>    criu_set_log_level(4);</div></div><div><div>    int status = criu_restore_child();</div></div><div>//or int status = criu_restore();</div><div><br></div><div>I obtain:</div><div><br></div><div><div>    Error (image.c:405): Can&#39;t open dir /proc/1/fd/11: No such device or address</div><div>    Error (cr-service.c:254): Can&#39;t open images directory: No such device or address</div></div><div><br></div><div class="gmail_extra">I&#39;ve never used unshare, so I probably missed something ;-)</div><div class="gmail_extra"><br></div><div class="gmail_extra">----</div><div class="gmail_extra"><br></div><div class="gmail_extra">P.S. the tty problem happens only when I open an ssh session and then execute the command (sshd: root@pts/0), no problem if I call criu restore directly from ssh command (sshd: root@notty).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,</div><div class="gmail_extra">Federico<br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>__</div><div><span style="font-size:12.8px">Federico Reghenzani</span></div><div><font size="1">M.Eng. Student @ Politecnico di Milano</font></div><div><span style="font-size:x-small">Computer Science and Engineering</span></div><div><br></div><div><br></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">2015-12-22 9:48 GMT+01:00 Cyrill Gorcunov <span dir="ltr">&lt;<a href="mailto:gorcunov@gmail.com" target="_blank">gorcunov@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On Tue, Dec 22, 2015 at 09:16:54AM +0100, Federico Reghenzani wrote:<br>
...<br>
<span class="">&gt;<br>
&gt;      Btw, maybe you would be able to start restore under the strace?<br>
&gt;      Something<br>
&gt;      like &quot;strace -f -o /log.txt -s 512 criu restore ...&quot; and show us the<br>
&gt;      /log.txt?<br>
&gt;      If run under criu service, then the service itself might be started with<br>
&gt;      strace if i&#39;m not missing something obvious.<br>
&gt;<br>
&gt;    Attached!<br>
<br>
</span>Frederico, you&#39;re running restore on the live systems without use any of<br>
namespaces, for sure without them there is no reliable way to guarantee<br>
the PIDs match on restore. Have you been considering running your application<br>
in own at lest PID namespace? (take a look on unshare(1) manual). Just<br>
found that Pavel already mentioned this concern in email earlier.<br>
<span class=""><font color="#888888"><br>
        Cyrill<br>
</font></span></blockquote></div><br></div></div>