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

Jeffrey Hutzelman jhutz+ at cmu.edu
Mon May 3 19:42:13 CEST 1999


> 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).

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.

It is worth noting that it is meaningless to talk about POSIX requirements
with respect to AFS, because AFS is not and does not claim to be a POSIX
compliant filesystem.  It does not have POSIX locking, or POSIX access
control, for example.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+ at cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA






More information about the Arla-drinkers mailing list