tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

VFS API change: add VOP_LOOKUPFN, VFS_VFILL and genfs_lookup.



 Please, don't ignore this message silently, if it can't be included in NetBSD,
let me know and I will not spend your time anymore on this subject.

The main purpose:
Create generic lookup function(genfs_lookup()) for other file systems(FS).

 1. (VOP_LOOKUPFN) File system which will be use this function(genfs_lookup()) 
must have new vnode's function -
lookupfn() which takes two parameters, directory's vnode and string(name inside 
this directory) and
returns unique file number(FN) and file type(VDIR ...) for this name or error 
if haven't this name in directory.

 2. (VFS_VFILL) genfs_lookup() uses FN as index for filling vnodes' hashtable 
and initializing new created vnode
by involving one more new function vfill()(similar VFS_VGET), which takes three 
parameters,
mount point, new vnode and FN.
 Also genfs_lookup() uses FN as index in hashtable for getting already 
initialized vnode.

 3. Also need some auxiliary functions for hashtable(init_hashtable, destroy, 
remove(reclaim)_vnode, get ...)
and place for keeping hashtable pointer, maybe "struct mount" good candidate.
 Also need flag for genfs_lookup() for use or not namecache for this FS, maybe 
in "struct mount".

Any objection, comments, suggestions.

Ilia.


Home | Main Index | Thread Index | Old Index