From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: MIPS64/N64 support Date: Wed, 09 Oct 2013 02:53:20 -0400 Message-ID: <87li236ilb.fsf@netris.org> References: <87vc2o4qwc.fsf@gnu.org> <87d2opy6qa.fsf@gnu.org> <87r4d577ab.fsf@karetnikov.org> <87zjrswzin.fsf@gnu.org> <87hadygxe8.fsf@karetnikov.org> <87mwnq470w.fsf@gnu.org> <87y5791h9f.fsf@karetnikov.org> <87eh907psx.fsf@gnu.org> <87li37z967.fsf@karetnikov.org> <8761ub143g.fsf@gnu.org> <87k3iqa71l.fsf@karetnikov.org> <87k3iqhrh5.fsf@gnu.org> <877ge3c8lf.fsf@karetnikov.org> <874n96qed3.fsf@gnu.org> <878uyfiwr1.fsf@karetnikov.org> <87siwniwka.fsf@gnu.org> <8738onkyi9.fsf@karetnikov.org> <87bo3asfx6.fsf@karetnikov.org> <87bo309auv.fsf@netris.org> <87k3hox43s.fsf@gnu.org> <87zjqj74d7.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTnep-0006w5-1b for guix-devel@gnu.org; Wed, 09 Oct 2013 02:54:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTneh-0001Fd-No for guix-devel@gnu.org; Wed, 09 Oct 2013 02:54:06 -0400 In-Reply-To: <87zjqj74d7.fsf@netris.org> (Mark H. Weaver's message of "Tue, 08 Oct 2013 19:03:00 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org 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 /tmp/nix-build-make-boot0-3.82.drv-0 should have the same inode as /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