[lkml]   [2002]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: tmpfs, NFS, file handles
    On Wednesday February 20, wrote:
    > Hi,
    > > "Peter J. Braam" wrote:
    > ...
    > > > Is there a suggested solution for fh_to_dentry and dentry_to_fh for
    > > > tmpfs?
    > > >
    > > > An "iget" based solution might work but at present tmpfs inodes are
    > > > not hashed.
    > On Wed, Feb 20, 2002 at 11:56:40AM -0500, Jeff Garzik wrote:
    > ...
    > > I talked to neil brown about NFS and ramfs... he mentioned using
    > > iunique()
    ... but Trond had a better idea....
    > So do I understand that hashing tmpfs inodes is perhaps the way to go?
    > Would the following also work?
    > - have a 32 bit counter: set inode->i_ino to count++
    > - up the generation number each time the counter warps.

    You don't just need a number in inode->i_ino. You also need to be
    able to find an inode given that number.
    So you need to store all the inodes in a hash table.
    But you don't want to penalise non-NFS users.

    I would probably:
    leave i_ino as set by new_inode
    initialise inode->i_generation to CURRENT_TIME

    in dentry_to_fh,
    check if list_empty(&inode->i_hash)
    if it is, then add the inode to some hash table indexed by the
    address of the inode
    put the address of the inode, i_ino and i_generation in the filehandle

    in fh_to_dentry,
    lookup the given address in the hash table.
    if it is found, check the i_ino and i_generation

    That means you are only hashing inodes exported by NFS, and you have
    a pretty good guarantee of uniqueness (providing time doesn't go

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:24    [W:0.023 / U:19.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site