Function vnode _update _identity
Update vnode data associated with the vfs cache.
Declaration void vnode_update_identity( vp, vnode _t dvp, vnode _t const char *name, int name_len, uint32_t name_hashval, int flags);
The vnode whose information to update.
Parent to set on the vnode if VNODE_UPDATE_PARENT is used.
Name to set in the cache for the vnode if VNODE_UPDATE_NAME is used. The buffer passed in can be subsequently freed, as the cache does its own name storage. String should be NULL-terminated unless length and hash value are specified.
Length of name, if known. Passing 0 causes the cache to determine the length itself.
Hash value of name, if known. Passing 0 causes the cache to hash the name itself.
VNODE_UPDATE_PARENT: set parent. VNODE_UPDATE_NAME: set name. VNODE_UPDATE_CACHE: flush cache entries for hard links associated with this file. VNODE_UPDATE_PURGE: flush cache entries for hard links and children of this file.
The vfs namecache is central to tracking vnode-identifying data and to locating files on the system. vnode_update_identity() is used to update vnode data associated with the cache. It can set a vnode's parent and/or name (also potentially set by vnode_create()) or flush cache data.
See Also Miscellaneous cache _enter
Add a (name,vnode) entry to the VFS namecache.
Check for a filename in a directory using the VFS name cache.
Remove all data relating to a vnode from the namecache.
Count total references to a given file, disregarding "kusecount" (event listener, as with O_EVTONLY) references.
Reclaim the vnodes associated with a mount.
vfs _context _current
Get the vfs_context for the current thread, or the kernel context if there is no context for current thread.
vfs _context _issignal
Get a bitfield of pending signals for the BSD process associated with a vfs_context_t.
vfs _context _pid
Get the process id of the BSD process associated with a vfs_context_t.
vfs _context _rele
Release references on components of a context and deallocate it.
System-provided implementation of "bwrite" vnop.
vn _default _error
Default vnode operation to fill unsupported slots in vnode operation vectors.
Read from or write to a file.
Invalidate all references to a vnode.
Given a vnode_attr structure, determine what kauth-style actions must be authorized in order to set those attributes.
vnode _authattr _new
Initialize and validate file creation parameters with respect to the current context.
Clear flags indicating that a block device vnode has been mounted as a filesystem.
Clear the flag on a vnode indicating that data should not be cached in memory (i.e. we write-through to disk and always read from disk).
Gets the filesystem-specific data associated with a vnode.
Increase the iocount on a vnode on which a usecount (persistent reference) is held.
Increase the iocount on a vnode, checking that the vnode is alive and has not changed vid (i.e. been recycled)
Determine if a vnode is a block device special file.
Determine if a vnode is a character device special file.
Determine if the number of persistent (usecount) references on a vnode is greater than a given count.
Determine if there is currently a mount occurring which will cover this vnode.
Determine if a vnode is a block device on which a filesystem has been mounted.
Check if a vnode is set to not have its data cached in memory (i.e. we write-through to disk and always read from disk).
Check if a vnode is set to not have data speculatively read in in hopes of future cache hits.
Check if a vnode is dead or in the process of being killed (recycled).
Determine if a vnode is being used as a swap file.
Perform an operation on (almost) all vnodes from a given mountpoint.
Get the mount structure for the filesystem that a vnode belongs to.
Returns a pointer to a mount placed on top of a vnode, should it exist.
Open a file identified by a path--roughly speaking an in-kernel open(2).
Cause a vnode to be reclaimed and prepared for reuse.
Set flags indicating that a block device vnode has been mounted as a filesystem.
Set a vnode to not have its data cached in memory (i.e. we write-through to disk and always read from disk).
Set a vnode to not have data speculatively read in in hopes of hitting in cache.
Return the device id of the device associated with a special file.
Get the vnode filesystem-specific "tag."
Determine if the filesystem to which a vnode belongs is marked as ready to interact with 64-bit user processes.
Determine if the filesystem to which a vnode belongs is mounted read-only.
Determine the maximum length of a symbolic link for the filesystem on which a vnode resides.
Get the name of the filesystem to which a vnode belongs.
Get the "type number" of the filesystem to which a vnode belongs.
Return a vnode's vid (generation number), which is constant from creation until reclaim.