[CRIU] link_remap_ok

Pavel Emelyanov xemul at parallels.com
Fri Feb 27 11:50:17 PST 2015


On 02/27/2015 08:05 PM, beproject criu wrote:
> path [/usr/local/lib/lxc/rootfs/root] read_fd_link() return : 30
> I have mounted the /dev of host on /dev inside my container.

That's interesting. How did you do it? Can you show me the mount namespaces
layout on your node and inside the container? It's just /proc/$pid/mountinfo
file contents on some process on host and some process in CT.

> (03.347637) Dumping path for 4 fd via self 43 [/usr/local/lib/lxc/rootfs/root/dev/__properties__]

OK, this is quite strange. The /usr/local/lib/lxc/rootfs is the path on HOST.
How did this path become visible inside container?

> (03.347847) [nyc_fd] The required root is already opened. get_service_fd() returns : 1017
> (03.348197) [nyc_fd] Going into fstatat()-> [mntns_root : 1017],[rpath : ./usr/local/lib/lxc/rootfs/root/dev/__properties__]
> (03.348393) [nyc_fd] Out of fstatat()-> [ret : -1],[rpath : ./usr/local/lib/lxc/rootfs/root/dev/__properties__]
> (03.348583) [nyc_fd] Going into dump_linked_remap()
> (03.349177) [nyc_fd] The required root is already opened. get_service_fd() returns : 1017
> (03.349432) [nyc_fd] Doing linkat() [mntns_root : 1017],[link_name : ./usr/local/lib/lxc/rootfs/root/dev/link_remap.4]
> 
> (03.349756) [nyc_fd] bad_path [/usr/local/lib/lxc/rootfs/root] ,read_fd_link() return : 30
> 
> (03.350027) Error (files-reg.c:515): Can't link remap to /usr/local/lib/lxc/rootfs/root/dev/__properties__: No such file or directory
> (03.351097) [nyc_fd] Error in dump_one_reg_file->check_path_remap() 
> (03.351266) [nyc_fd] Going into dump_task_files_seized() : dump_one_file()
> 
> 
> On Fri, Feb 27, 2015 at 8:10 PM, Pavel Emelyanov <xemul at parallels.com <mailto:xemul at parallels.com>> wrote:
> 
>     On 02/27/2015 05:25 PM, beproject criu wrote:
>     > This is the flow before error,could you get what's wrong :
>     >
>     > (02.352922) Dumping path for 4 fd via self 43 [/usr/local/lib/lxc/rootfs/root/dev/__properties__]
>     > (02.353079) [nyc_fd] The required root is already opened. get_service_fd() returns : 1017
>     > (02.353216) [nyc_fd] Going into fstatat()-> [mntns_root : 1017],[rpath : ./usr/local/lib/lxc/rootfs/root/dev/__properties__]
>     > (02.353398) [nyc_fd] Out of fstatat()-> [ret : -1],[rpath : ./usr/local/lib/lxc/rootfs/root/dev/__properties__]
>     > (02.353574) [nyc_fd] Going into dump_linked_remap()
>     > (02.354191) [nyc_fd] The required root is already opened. get_service_fd() returns : 1017
>     > (02.354431) [nyc_fd] Doing linkat() [mntns_root : 1017],[link_name : ./usr/local/lib/lxc/rootfs/root/dev/link_remap.4]
>     > (02.354747) Error (files-reg.c:510): Can't link remap to /usr/local/lib/lxc/rootfs/root/dev/__properties__: No such file or directory
>     > (02.355915) [nyc_fd] Error in dump_one_reg_file->check_path_remap()
>     > (02.356066) [nyc_fd] Going into dump_task_files_seized() : dump_one_file()
> 
>     OK, so in both cases we access file af fd 1017 and sub-path "./user/local/lib/lxc/roootfs/root/dev/__properties__"
>     and you tell that this file actually exists in container, right?
> 
>     The failing fstatat then means, that the 1017 descriptor points to some bad path. Can you check where? We
>     have a helper called read_fd_link() helper for that, see the fsnotify.c line 455 for code example.
> 
>     And one more question -- does your container live in another mount namespace, or shared one with host?
> 
>     Thanks,
>     Pavel
> 
> 



More information about the CRIU mailing list