<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1438908568291_11990"><span>Hi,&nbsp;</span></div><div id="yui_3_16_0_1_1438908568291_11990"><span><br></span></div><div id="yui_3_16_0_1_1438908568291_11990"><span id="yui_3_16_0_1_1438908568291_12030">Yes, I was using devicemapper. &nbsp;Then I turned to VFS and migration in host and between hosts both succeeded.&nbsp;</span></div><div id="yui_3_16_0_1_1438908568291_11990"><span><br></span></div><div id="yui_3_16_0_1_1438908568291_11990"><span id="yui_3_16_0_1_1438908568291_12192">Thank you very much and sorry for my ignorance.</span></div><div id="yui_3_16_0_1_1438908568291_11990"><span><br></span></div><div id="yui_3_16_0_1_1438908568291_11990"><span>Best Regards</span></div><div id="yui_3_16_0_1_1438908568291_11990"><span>Zhang Fan</span></div><br>  <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1438908568291_11989"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1438908568291_11988"> <div dir="ltr" id="yui_3_16_0_1_1438908568291_11987"> <hr size="1" id="yui_3_16_0_1_1438908568291_11995">  <font size="2" face="Arial" id="yui_3_16_0_1_1438908568291_11986"> <b id="yui_3_16_0_1_1438908568291_11985"><span style="font-weight:bold;" id="yui_3_16_0_1_1438908568291_11984">From:</span></b> Saied Kazemi &lt;saied@google.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Z F &lt;full015zf@yahoo.com&gt; <br><b><span style="font-weight: bold;">Cc:</span></b> "criu@openvz.org" &lt;criu@openvz.org&gt;; Pavel Emelyanov &lt;xemul@parallels.com&gt; <br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, August 6, 2015 9:30 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [CRIU] CRIU Docker Restore with Error: Bad File Size<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_1_1438908568291_12196"><br><div id="yiv0253700030"><div id="yui_3_16_0_1_1438908568291_12195"><div dir="ltr" id="yui_3_16_0_1_1438908568291_12194"><br clear="none"><div class="yiv0253700030gmail_extra" id="yui_3_16_0_1_1438908568291_12197"><br clear="none"><div class="yiv0253700030gmail_quote" id="yui_3_16_0_1_1438908568291_12198">On Thu, Aug 6, 2015 at 1:01 AM, Z F <span dir="ltr">&lt;<a rel="nofollow" shape="rect" ymailto="mailto:full015zf@yahoo.com" target="_blank" href="mailto:full015zf@yahoo.com">full015zf@yahoo.com</a>&gt;</span> wrote:<br clear="none"><blockquote class="yiv0253700030gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div><span>Hi,</span></div><div><span><br clear="none"></span></div><div><span>When no --root specified, the root of container would be mounted to host's /. I can tail host's /foo when the bad size error workaround. And that's the cause of bad file size.</span></div><div><span><br clear="none"></span></div><div><span>When docker_cr.sh used, as log attached in last mail, the container's root would be in /var/lib/docker/devicemapper/mnt/container-id. The directory was cleared by docker when dump succeeded and no /proc could be found in restore.&nbsp;</span></div></div></div></blockquote><div><br clear="none"></div><div>Hmm.&nbsp; Are you using the Device Mapper as your storage driver?&nbsp; C/R currently only works with VFS, AUFS, and OverlayFS.&nbsp; Device Mapper is not supported.</div><div><br clear="none"></div><div>&nbsp;</div><blockquote class="yiv0253700030gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div>Then, what's should I put as --root?&nbsp; Thank you.<br clear="none"></div></div></blockquote><div><br clear="none"></div><div>If you use docker_cr.sh and turn on verbose mode (i.e., -v), it will print the criu command line that it invokes and you'll see the --root argument.</div><div><br clear="none"></div><div>--Saied</div><div class="qtdSeparateBR"><br><br></div><div class="yiv0253700030yqt5747956043" id="yiv0253700030yqtfd46088"><div><br clear="none"></div><div><br clear="none"></div><blockquote class="yiv0253700030gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div>Best Regards<br clear="none"></div><br clear="none">  <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"> <hr size="1">  <font size="2" face="Arial"><span class="yiv0253700030"> <b><span style="font-weight:bold;">From:</span></b> Saied Kazemi &lt;<a rel="nofollow" shape="rect" ymailto="mailto:saied@google.com" target="_blank" href="mailto:saied@google.com">saied@google.com</a>&gt;<br clear="none"> <b><span style="font-weight:bold;">To:</span></b> <a rel="nofollow" shape="rect" ymailto="mailto:full015zf@yahoo.com" target="_blank" href="mailto:full015zf@yahoo.com">full015zf@yahoo.com</a> <br clear="none"><b><span style="font-weight:bold;">Cc:</span></b> "<a rel="nofollow" shape="rect" ymailto="mailto:criu@openvz.org" target="_blank" href="mailto:criu@openvz.org">criu@openvz.org</a>" &lt;<a rel="nofollow" shape="rect" ymailto="mailto:criu@openvz.org" target="_blank" href="mailto:criu@openvz.org">criu@openvz.org</a>&gt;; Pavel Emelyanov &lt;<a rel="nofollow" shape="rect" ymailto="mailto:xemul@parallels.com" target="_blank" href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt; <br clear="none"> </span><b><span style="font-weight:bold;">Sent:</span></b> Thursday, August 6, 2015 1:14 AM<span class="yiv0253700030"><br clear="none"> <b><span style="font-weight:bold;">Subject:</span></b> Re: [CRIU] CRIU Docker Restore with Error: Bad File Size<br clear="none"> </span></font> </div> <div><br clear="none"><div><div><div dir="ltr"><br clear="none"><div><div class="yiv0253700030h5"><div><br clear="none"><div>On Wed, Aug 5, 2015 at 8:18 AM, Pavel Emelyanov <span dir="ltr">&lt;<a rel="nofollow" shape="rect" ymailto="mailto:xemul@parallels.com" target="_blank" href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;</span> wrote:<br clear="none"><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><span>On 08/05/2015 05:24 AM, Z F wrote:<br clear="none">
&gt; Hi,<br clear="none">
&gt;<br clear="none">
</span><span>&gt; About file sizes:<br clear="none">
&gt;<br clear="none">
&gt; //In containers<br clear="none">
&gt; bash-4.2# ls -lt /usr/bin/bash<br clear="none">
&gt; -rwxr-xr-x. 1 root root 960392 Sep 25&nbsp; 2014 /usr/bin/bash<br clear="none">
&gt; bash-4.2#<br clear="none">
&gt; //In host<br clear="none">
&gt; [root@compute2 dockerbins]# ls -lt /usr/bin/bash<br clear="none">
&gt; -rwxr-xr-x. 1 root root 960384 Sep 26&nbsp; 2014 /usr/bin/bash<br clear="none">
&gt; [root@compute2 dockerbins]#<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; About FS: I am using VFS.<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; As explained in the <a rel="nofollow" shape="rect" target="_blank" href="http://criu.org/Docker">http://criu.org/Docker</a>, --root is necessary for AUFS only. Then I suppose --root is not necessary for VFS, then the container's root filesystem would be at the default /var/lib/docker/containers/&lt;container-id&gt;/. Is that correct?<br clear="none"></span></blockquote><div><br clear="none"></div><div><div>I know it can be confusing...&nbsp; I didn't mean the --root command line option.&nbsp; I was saying the root of the container has be bind mounted onto itself.&nbsp; This is implicitly done for AUFS when it's set up but for VFS, has to be done explicitly.&nbsp; You can look at prep_restore() in contrib/docker_cr.sh.<div><br clear="none"><br clear="none"></div><div><br clear="none"></div></div></div><div><div><br clear="none"></div><div>&nbsp;</div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><span>
&gt;<br clear="none">
&gt; About mount, 3 cases tested:<br clear="none">
&gt; 1. No --root, no mount --rbind:&nbsp; bad file size error.<br clear="none">
&gt; 2. No --root, mount --rbind: bad file size error.<br clear="none">
&gt; 3. docker_cr.sh:<br clear="none">
&gt; (00.011447)&nbsp; &nbsp; &nbsp; 1: Error (mount.c:1861): Can't mount at ./proc: No such file or directory<br clear="none">
&gt; (00.034211) Error (cr-restore.c:1219): 63981 exited, status=1<br clear="none">
&gt; (00.034228) Error (cr-restore.c:1912): Restoring FAILED.<br clear="none">
<br clear="none">
</span>(00.011392)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./etc/resolv.conf<br clear="none">
(00.011395)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./etc/hostname<br clear="none">
(00.011397)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./etc/hosts<br clear="none">
(00.011404)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./proc/sys<br clear="none">
(00.011407)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./proc/sysrq-trigger<br clear="none">
(00.011409)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./proc/irq<br clear="none">
(00.011411)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./proc/bus<br clear="none">
(00.011413)&nbsp; &nbsp; &nbsp; 1: ----------------------------&gt; Try to validate ./proc/kcore<br clear="none">
<br clear="none">
There's no such print-s in criu code :)<br clear="none">
<br clear="none">
(00.011416)&nbsp; &nbsp; &nbsp; 1: 146:./ private 1 shared 0 slave 0<br clear="none">
(00.011420)&nbsp; &nbsp; &nbsp; 1: Start with 146:./<br clear="none">
(00.011423)&nbsp; &nbsp; &nbsp; 1:&nbsp; &nbsp; &nbsp;Mounting unsupported @./ (0)<br clear="none">
(00.011428)&nbsp; &nbsp; &nbsp; 1:&nbsp; &nbsp; &nbsp;Mounting proc @./proc (0)<br clear="none">
<span>(00.011447)&nbsp; &nbsp; &nbsp; 1: Error (mount.c:1861): Can't mount at ./proc: No such file or directory<br clear="none">
<br clear="none">
</span>Hm... No proc directory in the root you've specified.<br clear="none">
<span><font color="#888888"><br clear="none">
-- Pavel<br clear="none">
</font></span></blockquote></div></div><div><br clear="none"></div></div></div></div></div></div></div><br clear="none"><br clear="none"></div> </div> </div>  </div></blockquote></div></div><div class="yiv0253700030yqt5747956043" id="yiv0253700030yqtfd91547"><br clear="none"></div></div></div></div></div><br><br></div> </div> </div>  </div></body></html>