Date: Wed, 14 Jan 2004 15:12:26 -0500 (EST) From: Robert Watson <rwatson@freebsd.org> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org Subject: Re: simplifying linux_emul_convpath() Message-ID: <Pine.NEB.3.96L.1040114151033.49872G-100000@fledge.watson.org> In-Reply-To: <20040115064753.T3550@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 15 Jan 2004, Bruce Evans wrote: > > That inode numbers are subject to collision is a practical reality with > > the existence of globally scalable distributed file systems. Many file > > formats, APIs, and ABIs assume a 32-bit inode number; however, distributed > > systems like AFS support hundreds of thousands, if not millions, of > > concurrent users and computer systems. Expecting each user/computer to > > It's a practical reality that file systems with inode numbers >= 2^32 > cannot work in FreeBSD now. So what ends up happening is what Coda and Arla do: take the 96-bit unique identifier (viceid or fid), hash it to a somewhat unique value, and stick the result in the vattr returned by VOP_GETATTR(). And sometimes applications just get confused. Of course, many of those applications were quite capable of getting confused before -- unless you hold a file open, you can't prevent its inode number from being reused if the file is deleted and a new one created. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040114151033.49872G-100000>