I wrote: > Here are the inode numbers as reported by ls -lia: > > mhw:/tmp$ ls -lia nix-build-make-boot0-3.82.drv-0/ > total 16 > 7274550 drwxr-xr-x 3 guix-builder1 guix-builder 4096 Oct 8 17:19 . > 7072375 drwxrwxrwt 9 root root 4096 Oct 8 17:19 .. > 7272956 -rw-r--r-- 1 guix-builder1 guix-builder 1141 Oct 8 17:19 > environment-variables > 7274551 drwxr-xr-x 8 guix-builder1 guix-builder 4096 Oct 8 17:19 make-3.82 > > Here's a summary of what the 'strace' output tells me: > > * The initial stat(".") syscall reports inode 7274551, which corresponds > to "/tmp/nix-build-make-boot0-3.82.drv-0/make-3.82", as expected. > > * stat("/") reports inode 1073173, which looks WRONG.
Actually, this turned out to be correct. > * stat("..") reports inode 7274550, which corresponds to > "/tmp/nix-build-make-boot0-3.82.drv-0", as expected. > > * reading the contents of ".." reports inode numbers that all look > correct, including "make-3.82" with inode 7274551, the same as ".". > Thus 'pwd' concludes that its result will end with "/make-3.82". > > * stat("../..") reports inode 1073174, which looks WRONG. This is also correct. > * reading the contents of "../.." reports inode numbers that all look > WRONG: > > "nix-build-make-boot0-3.82.drv-0" with inode 1073325 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". 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). Any other ideas? Mark