Mark H Weaver <m...@netris.org> skribis:

> This is the entry that reports the wrong inode number.  Note that this
> is a bind mount that mirrors /tmp/nix-build-make-boot0-3.82.drv-0 .
>
> I guess that <CHROOT>/tmp/nix-build-make-boot0-3.82.drv-0 should have
> the same inode as <CHROOT>/tmp/nix-build-make-boot0-3.82.drv-0/. , but
> apparently that is not the case from within guix-daemon, even though it
> _is_ the case when I set up the chroot manually using "mount --bind".

OK.

> One notable difference between the chroot I set up is that the bind
> mounts I created were part of the global namespace, whereas guix-daemon
> restricts the bind mounts to a private namespace.
>
> My initial hypothesis is that this is a namespace-related bug in Linux
> (the kernel).  In case it has already been fixed, I will first work on
> upgrading Linux to 3.10.15 (and if that fails, 3.11.x).

Sounds like a good idea to start with.

Also, you could fiddle with libstore/build.cc–e.g., by removing
CLONE_NEWNS from the ‘clone’ flags–to try to isolate the bug.

Ludo’.

Reply via email to