[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MIPS64/N64 support
From: |
Mark H Weaver |
Subject: |
Re: MIPS64/N64 support |
Date: |
Wed, 09 Oct 2013 02:53:20 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
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
- Re: MIPS64/N64 support, (continued)
- Re: MIPS64/N64 support, Nikita Karetnikov, 2013/10/01
- Re: MIPS64/N64 support, Nikita Karetnikov, 2013/10/01
- Re: MIPS64/N64 support, Lluís Batlle i Rossell, 2013/10/01
- Re: MIPS64/N64 support, Nikita Karetnikov, 2013/10/01
- Re: MIPS64/N64 support, Lluís Batlle i Rossell, 2013/10/01
- Re: MIPS64/N64 support, Ludovic Courtès, 2013/10/01
- Re: MIPS64/N64 support, Lluís Batlle i Rossell, 2013/10/01
Re: MIPS64/N64 support, Mark H Weaver, 2013/10/07
Re: MIPS64/N64 support, Mark H Weaver, 2013/10/10