Coda File System

Re: Fid to Inode Collisions

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Mon, 22 Jan 2001 17:13:40 -0500
On Sat, Jan 20, 2001 at 11:02:45PM -0800, landrum Alfred wrote:
> I've been browsing the source to the linux coda
> module, and I have a question on fid to inode
> translation.  I guess I just don't understand - you
> take 3 ints (Unique,Vnode,Volume) and map them to 1
> int (ino_t).  
> 
> How are inode number collisions avoided?

They are not, which causes some trouble, especially during repair
sessions when the object changes from file -> symlink -> directory ->
file. We do have an allocation strategy that tries to minimize how
frequent these collisions occur.

I believe that the Coda kernel module in 2.4 kernels tries to drop the
old inode in favor of the new one in case of a collision.

At some point we want to implement a collission free fid<>inode mapping
in venus and will pass fids in the form 0.0.<ino_nr> down to the kernel.
Such fids will hash nicely to <ino_nr>.

Jan
Received on 2001-01-22 17:29:35