<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 6, 2015 at 11:28 PM, 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/07/2015 08:49 AM, Andrew Vagin wrote:<br>
&gt; On Mon, Apr 06, 2015 at 09:22:19AM -0700, Saied Kazemi wrote:<br>
&gt;&gt; Currently if /tmp does not exist, CRIU fails because it will not be<br>
&gt;&gt; able to create a temporary directory there.  But when checkpointing<br>
&gt;&gt; and restoring containers, we cannot rely on the existence of /tmp.<br>
&gt;&gt; For such containers, we should use root (/).  The temporary directory<br>
&gt;&gt; will be removed after CRIU is done.<br>
&gt;&gt;<br>
&gt; Acked-by: Andrew Vagin &lt;<a href="mailto:avagin@odin.com">avagin@odin.com</a>&gt;<br>
&gt;&gt; Signed-off-by: Saied Kazemi &lt;<a href="mailto:saied@google.com">saied@google.com</a>&gt;<br>
<br>
</span>Applied, thanks!<br>
<br>
I have a question though<br>
<span class=""><br>
&gt;&gt; @@ -803,7 +805,10 @@ static int open_mountpoint(struct mount_info *pm)<br>
&gt;&gt;      if (switch_ns(root_item-&gt;pid.real, &amp;mnt_ns_desc, &amp;ns_old) &lt; 0)<br>
&gt;&gt;              goto out;<br>
&gt;&gt;<br>
&gt;&gt; -    if (mkdtemp(mnt_path) == NULL) {<br>
&gt;&gt; +    mnt_path = mkdtemp(mnt_path_tmp);<br>
&gt;&gt; +    if (mnt_path == NULL &amp;&amp; errno == ENOENT)<br>
&gt;&gt; +            mnt_path = mkdtemp(mnt_path_root);<br>
<br>
</span>What&#39;s the point in trying to go with /tmp and then falling back to /?<br>
Why not just go ahead and always mkdtemp dir in /?<br></blockquote><div><br></div><div>No &quot;hard&quot; reason -- mainly for compatibility with the original code as well as conforming to the practice of using /tmp for temporary stuff.  There&#39;s no performance penalty unless it fails which, in practice, I think it&#39;d be less than 1% of the cases.  That said, I have no objection to always using /.</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"><div class="HOEnZb"><div class="h5">
&gt;&gt; +    if (mnt_path == NULL) {<br>
&gt;&gt;              pr_perror(&quot;Can&#39;t create a temporary directory&quot;);<br>
&gt;&gt;              goto out;<br>
&gt;&gt;      }<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">-- Pavel<br></font></span></blockquote><div><br></div><div>--Saied </div></div><br></div></div>