[CRIU] [PATCH] uffd.c: create lazy-pages socket in image directory

Adrian Reber adrian at lisas.de
Mon Jan 16 00:45:22 PST 2017


On Sun, Jan 15, 2017 at 09:22:54AM +0200, Mike Rapoport wrote:
> On Fri, Jan 13, 2017 at 06:31:15PM +0300, Pavel Emelyanov wrote:
> > On 01/13/2017 01:47 PM, Adrian Reber wrote:
> > > From: Adrian Reber <areber at redhat.com>
> > > 
> > > runc uses the work-dir and image-dir option to control where
> > > criu is running. This means that criu chdir()-s to work-dir
> > > and the lazy-pages socket cannot be found as it is in the image
> > > directory.
> > 
> > Bu the socket __should__ be in work directory, is it really there? If no,
> > then that's the bug, we should bind() socket in proper place.
> 
> The socket __is__ created in the working directory. The socket may not be
> found if 'criu restore' and 'criu lazy-pages' use different --work-dir...

Trying to run the following I get:

$ criu lazy-pages  --page-server --address 192.168.122.3  --port 27 -vvvv -D /run/runc/container/criu.work/
(00.000003) Version: 2.9 (gitid v2.9-606-g57d3d73)
(00.000029) No inventory.img image
(00.000041) Error (criu/util.c:552): Can't read link of fd -404: No such file or directory
(00.000044) Error (criu/protobuf.c:75): Unexpected EOF on (null)

This is in runc's working directory. There is no inventory.img as it is
the working directory and not the image directory. So the current code
expects the working and image directory to be the same.

		Adrian


More information about the CRIU mailing list