<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 2, 2015 at 11:55 AM, Pavel Emelyanov <span dir="ltr">&lt;<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 04/02/2015 09:12 PM, Saied Kazemi wrote:<br>
&gt; Hi Pavel and Andrew,<br>
&gt;<br>
&gt; Because open_mountpoint() in mount.c creates a temporary directory in /tmp, I have<br>
&gt; run into an issue with containers that do not have /tmp.<br>
<br>
</span>:)<br>
<span class=""><br>
&gt; In addition to open_mountpoint(), there are other places in CRIU that (of course<br>
&gt; reasonably) assume /tmp exists.<br>
<br>
</span>Well, yes. Can you share which places have you spotted? I&#39;ve grepped the<br>
sources, but only found on in mount.c. If you have already spent time finding<br>
more it&#39;s perfectly worth not losing it :)<br></blockquote><div><br></div><div>I checked again and noticed that all other explicit references to /tmp are in test programs.  So you&#39;re right, there&#39;s only one place in CRIU proper.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
&gt; To quickly work around this issue for now, I added mkdir(&quot;/tmp&quot;, 0777) right before<br>
&gt; calling mkdtemp(mnt_path), but wanted to get your thoughts on the right approach to<br>
&gt; this issue.<br>
<br>
</span>Well, as far as the open_mountpoint is concerned, I think we can safely<br>
create the temporary directory in / (which is set by switch_ns), since<br>
the open_detach_mount() would rmdir one at the end.<br></blockquote><div><br></div><div>I agree.  Will send a patch that uses / if /tmp fails.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; When it comes to containers, many assumptions (such as the existence of<br>
&gt; /tmp) won&#39;t hold anymore :)<br>
<br>
</span>Yes. We tried hard to avoid any assumptions about what can be there inside<br>
container. Even the /proc is only assumed to exist in criu namespaces. But<br>
it looks like some places got broken in that sense.<br></blockquote><div><br></div><div>I am beginning to work with some more &quot;interesting&quot; containers.  Will note if and how they break any assumptions and let you know.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
-- Pavel<br>
<br>
</font></span></blockquote></div>--Saied</div><div class="gmail_extra"><br></div></div>