Using inotifywait -mr on the target:

~~~
root@nuc2:~# inotifywait -mr /var/lib/lxd/shmounts
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/var/lib/lxd/shmounts/ CREATE,ISDIR sample2
/var/lib/lxd/shmounts/ OPEN,ISDIR sample2
/var/lib/lxd/shmounts/ ACCESS,ISDIR sample2
/var/lib/lxd/shmounts/ CLOSE_NOWRITE,CLOSE,ISDIR sample2
/var/lib/lxd/shmounts/sample2/ DELETE_SELF
/var/lib/lxd/shmounts/ DELETE,ISDIR sample2
~~~

Next a little more low-tech: an infinite loop trying to read the
directory contents.

-----
#include <dirent.h>
#include <stdio.h>
#include <errno.h>

int main(int argc, char *argv[])
{
  while(1) {
    DIR *dirp=opendir(argv[1]);
    struct dirent *de;
    if (!dirp) {
      if (errno != ENOENT) {
        perror("opendir");
        return 1;
      }
      continue;
    }
    de = readdir(dirp);
    while(de) {
      printf("%s\n", de->d_name);
      de = readdir(dirp);
    }
    closedir(dirp);
    printf("---\n");
    fflush(stdout);
  }
}
-----

Left this running on the target with argument
"/var/lib/lxd/shmounts/sample2", then ran the migration. It showed that
as long as that directory exists, it is empty (obviously this is a race,
but it's a pretty quick loop).

So this confirms your theory that /dev does not exist - but doesn't help
explain why not :-(

I then tried running the migration with both strace *and* the above loop
running. I got a variation on the error that I have not seen before:

~~~
root@nuc1:~# lxc move sample nuc2:sample2
error: Error transferring container data: restore failed:
(00.130707)      1: Error (namespaces.c:1153): uns: send req error: Invalid 
argument
(00.130828)      1: Error (cgroup.c:1065): cg: couldn't set cgns prefix 
blkio//lxc/sample2/tasks: Invalid argument
(00.130889)      1: Error (cgroup.c:1089): cg: failed preparing cgns(00.131423) 
PID: real 24376 virt 1
(00.132255) Error (cr-restore.c:2012): Can't attach to init: Operation not 
permitted
(00.191169) Error (cr-restore.c:2182): Restoring FAILED.
~~~

-- 
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:
  Live migration error: Can't mount at ./dev/.lxd-mounts

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to