Hi, sorry for the delay. The reason things are failing when you try and
strace the restore is that CRIU also tries to ptrace its children to
restore certain things, and the kernel only allows one tracer at a time.

It is expected that /var/lib/lxd/shmounts/sample is empty, it's really
just a directory that we use for passing mounts into containers, so
unless you're in the middle of adding a mount to container, it should be
empty.

I just realized what your issue is though :). We should do something
about preventing this in LXD for now.

The problem is that the source of the bind mount is the container name,
but you're changing the container name when you move it across hosts, so
lxd makes /var/lib/lxd/shmounts/sample2 on the target, and criu records
(rightly so) on the host that /var/lib/lxd/shmounts/sample is bound to
/dev/.lxd-mounts.

The real solution is to patch CRIU to allow some rewriting of the mount
tree. We have this problem in this case, and in the non-cgroup-namespace
case, where a cgroup is bind mounted into the container.

** Summary changed:

- Live migration error: Can't mount at ./dev/.lxd-mounts
+ Need support for rewriting mount sources

** Changed in: criu (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1580765

Title:
  Need support for rewriting mount sources

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/criu/+bug/1580765/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to