DragonFly commits List (threaded) for 2004-10
cvs commit: src/sys/kern
dillon 2004/10/01 00:08:23 PDT
DragonFly src repository
VFS messaging/interfacing work stage 7a/99: Firm up stage 7 a bit by
automatically vhold()ing any vnodes associated with a locked namecache
record. This will prevent the vnode from being recycled (which would
unexpectedly cause the namecache entry to revert to an unresolved state
even while it is locked).
Previously only vnodes associated with namecache records with children
were being held (in order to guarentee that the vnode associated with the
parent directory of a locked leaf namecache record would stick around without
having to lock the parent directory's namecache record).
The point here being that we want to have to only lock and pass a single
namecache record to definitively identify an object in the namespace,
rather then the combination of directory and leaf nodes (and other junk)
that the old API required. For example, the old RENAME API required 6
arguments (fdvp, fvp, fcnp, tdvp, tvp, tcnp) while the new one will only
require two arguments (fncp, tncp).
Revision Changes Path
1.30 +43 -7 src/sys/kern/vfs_cache.c