[806] in arla-drinkers

home help back first fref pref prev next nref lref last post

Re: inode clashes (linux 2.2.x, arla 0.2x)

daemon@ATHENA.MIT.EDU (Magnus Ahltorp)
Mon May 3 16:16:26 1999

From owner-arla-drinkers@stacken.kth.se Mon May 03 20:16:26 1999
Return-Path: <owner-arla-drinkers@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 23083 invoked from network); 3 May 1999 20:16:25 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
  by bloom-picayune.mit.edu with SMTP; 3 May 1999 20:16:25 -0000
Received: (from majordom@localhost)
	by sundance.stacken.kth.se (8.8.8/8.8.8) id WAA11384
	for arla-drinkers-list; Mon, 3 May 1999 22:09:40 +0200 (MET DST)
Received: from scup.pdc.kth.se (scup.pdc.kth.se [130.237.221.66])
	by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id WAA11379;
	Mon, 3 May 1999 22:09:36 +0200 (MET DST)
Received: (from d95-mah@localhost)
	by scup.pdc.kth.se (8.8.7/8.8.7) id WAA22448;
	Mon, 3 May 1999 22:09:26 +0200 (MET DST)
To: Jeffrey Hutzelman <jhutz+@cmu.edu>
Cc: Magnus Ahltorp <map@stacken.kth.se>, Simon Josefsson <jas@pdc.kth.se>,
        arla-drinkers@stacken.kth.se
Subject: Re: inode clashes (linux 2.2.x, arla 0.2x)
References: <ML-2.3+1.925753321.3306.jhutz@afstest-1.fac.cs.cmu.edu>
From: Magnus Ahltorp <map@stacken.kth.se>
Content-Type: text/plain; charset="iso-8859-1"
Date: 03 May 1999 22:09:26 +0200
In-Reply-To: Jeffrey Hutzelman's message of "Mon, 3 May 1999 13:42:01 -0400 (EDT)"
Message-ID: <ixdhfptj4p5.fsf@scup.pdc.kth.se>
Lines: 28
X-Mailer: Gnus v5.6.45/Emacs 19.34
Sender: owner-arla-drinkers@stacken.kth.se
Precedence: bulk

> > The problem with that algorithm is that (machine, inum)->file is not
> > guaranteed to be a function, which is a requirement for Linux.
> 
> Clearly this is not true - the above statement requires that no two
> files have the same inode number, even on different machines, or on
> different filesystems on the same machine.  At the same time, it does
> not require that two inode numbers not refer to the same file.  The
> requirement you are trying to state is that for any given mounted
> filesystem at any given time, inum->file must be a bijection (that is,
> it is a function and its inverse is a function).

Yes, I forgot the filesystem part. But otherwise, it means that for
every machine, no two files have the same inode number. It should be
(machine, filesystem, inum, time)->file.

> However, it is not clear to me that anything in the Linux kernel actually
> requires this.  The contrib port of 3.3a does not make this guarantee;
> it uses the same inode function that AFS clients have used since the
> beginning of time.  Aside from confusion on the part of some programs
> that expect this to be the case, I have never seen a problem due to this
> behaviour.

The Linux requirement is that at any time, the pair fs:inum should
point out exactly one inode. This is required in fs/inode.c:iget(). It
uses the inode number to lookup the struct inode.

/Magnus
map@stacken.kth.se

home help back first fref pref prev next nref lref last post