History log of /dflybsd-src/sys/vfs/procfs/procfs_vfsops.c (Results 1 – 25 of 27)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7ced3071 23-Jul-2024 Aaron LI <aly@aaronly.me>

vfs/procfs: Whitespace and style fixes


Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1
# 00369c4a 14-Feb-2020 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Rejigger mount code to add vfs_flags in struct vfsops

* Rejigger the mount code so we can add a vfs_flags field to vfsops,
which mount_init() has visibility to.

* Allows nullfs to flag t

kernel - Rejigger mount code to add vfs_flags in struct vfsops

* Rejigger the mount code so we can add a vfs_flags field to vfsops,
which mount_init() has visibility to.

* Allows nullfs to flag that its mounts do not need a syncer thread.
Previously nullfs would destroy the syncer thread after the
fact.

* Improves dsynth performance (it does lots of nullfs mounts).

show more ...


Revision tags: v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc
# 51a529db 19-Mar-2018 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Implement QUICKHALT shortcut for unmounting during shutdown

* Add the MNTK_QUICKHALT flag which allows the system to just unlink but
otherwise ignore certain mount types during a halt or

kernel - Implement QUICKHALT shortcut for unmounting during shutdown

* Add the MNTK_QUICKHALT flag which allows the system to just unlink but
otherwise ignore certain mount types during a halt or reboot. For now
we flag tmpfs, devfs, and procfs.

* The main impetus for this is to reduce the messing around we
do with devfs during a shutdown. Devfs has its fingers, and its
vnodes, prettymuch sunk throughout the system (e.g. /dev/null, system
console, vty's, root mount, and so on and so forth). There's no
real need to attempt to unwind all of that mess nicely.

show more ...


Revision tags: v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc
# 87f62b1c 08-Jan-2017 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Fix improper mplock in mount path

* VFS_MOUNT() was being called before MNTK_ALL_MPSAFE could be set by
the filesystem, causing the operation to run with the MP token held.

* Add VFCF_MP

kernel - Fix improper mplock in mount path

* VFS_MOUNT() was being called before MNTK_ALL_MPSAFE could be set by
the filesystem, causing the operation to run with the MP token held.

* Add VFCF_MPSAFE to the vfsconf flags and specify it for MPSAFE filesystems
in their VFS_SET() specification. This flag causes MNTK_ALL_MPSAFE to
be set in mount->mnt_kern_flags prior to the VFS_MOUNT() call. Set this
flag for devfs, procfs, tmpfs, nullfs, hammer, and hammer2.

* Primarily effects synth or other bulk-builds which do a lot of mounting.

show more ...


Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0
# ef560bee 24-May-2016 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

sys/kern: Don't implement .vfs_sync unless sync is supported

The only reason filesystems without requirement of syncing
(e.g. no backing storage) need to implement .vfs_sync is because
those fs need

sys/kern: Don't implement .vfs_sync unless sync is supported

The only reason filesystems without requirement of syncing
(e.g. no backing storage) need to implement .vfs_sync is because
those fs need a sync with a return value of 0 on unmount.

If unmount allows sync with return value of EOPNOTSUPP for fs
that do not support sync, those fs no longer have to implement
.vfs_sync with vfs_stdsync() only to pass dounmount().

The drawback is when there is a sync (other than vfs_stdnosync)
that returns EOPNOTSUPP for real errors. The existing fs in
DragonFly don't do this (and shouldn't either).

Also see https://bugs.dragonflybsd.org/issues/2912.

# grep "\.vfs_sync" sys/vfs sys/gnu/vfs -rI | grep vfs_stdsync
sys/vfs/udf/udf_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/portal/portal_vfsops.c: .vfs_sync = vfs_stdsync
sys/vfs/devfs/devfs_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/isofs/cd9660/cd9660_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/autofs/autofs_vfsops.c: .vfs_sync = vfs_stdsync, /* for unmount(2) */
sys/vfs/tmpfs/tmpfs_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/dirfs/dirfs_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/ntfs/ntfs_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/procfs/procfs_vfsops.c: .vfs_sync = vfs_stdsync
sys/vfs/hpfs/hpfs_vfsops.c: .vfs_sync = vfs_stdsync,
sys/vfs/nullfs/null_vfsops.c: .vfs_sync = vfs_stdsync,

show more ...


Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.4.3
# dc71b7ab 31-May-2013 Justin C. Sherrill <justin@shiningsilence.com>

Correct BSD License clause numbering from 1-2-4 to 1-2-3.

Apparently everyone's doing it:
http://svnweb.freebsd.org/base?view=revision&revision=251069

Submitted-by: "Eitan Adler" <lists at eitanadl

Correct BSD License clause numbering from 1-2-4 to 1-2-3.

Apparently everyone's doing it:
http://svnweb.freebsd.org/base?view=revision&revision=251069

Submitted-by: "Eitan Adler" <lists at eitanadler.com>

show more ...


Revision tags: v3.4.2
# 2702099d 06-May-2013 Justin C. Sherrill <justin@shiningsilence.com>

Remove advertising clause from all that isn't contrib or userland bin.

By: Eitan Adler <lists@eitanadler.com>


Revision tags: v3.4.1, v3.4.0, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0
# 60c4a755 11-Sep-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# d8061892 10-Sep-2012 Sascha Wildner <saw@online.de>

kernel: Use NULL instead of 0 for pointers, part 1/x.

Found-with: Coccinelle (http://coccinelle.lip6.fr/)


Revision tags: v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1, v2.0.1
# 5dc91765 03-Sep-2007 Matthew Dillon <dillon@dragonflybsd.org>

Add a MNTK_ flag to the mount structure allowing a VFS to specify that
no submounts under the VFS are to be allowed. Adjust procfs and linprocfs
to use the feature.

Submitted-by: "Nicolas Thery" <n

Add a MNTK_ flag to the mount structure allowing a VFS to specify that
no submounts under the VFS are to be allowed. Adjust procfs and linprocfs
to use the feature.

Submitted-by: "Nicolas Thery" <nthery@gmail.com>

show more ...


# 086c1d7e 23-Dec-2006 Sascha Wildner <swildner@dragonflybsd.org>

Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).


# 66a1ddf5 18-Jul-2006 Matthew Dillon <dillon@dragonflybsd.org>

Remove several layers in the vnode operations vector init code. Declare
the operations vector directly instead of via a descriptor array. Remove
most of the recalculation code, it stopped being nee

Remove several layers in the vnode operations vector init code. Declare
the operations vector directly instead of via a descriptor array. Remove
most of the recalculation code, it stopped being needed over a year ago.

This work is similar to what FreeBSD now does, but was developed along a
different line. Ultimately our vop_ops will become SYSLINK ops for userland
VFS and clustering support.

show more ...


# acde96db 06-May-2006 Matthew Dillon <dillon@dragonflybsd.org>

Remove the thread argument from all mount->vfs_* function vectors,
replacing it with a ucred pointer when applicable. This cleans up a
considerable amount of VFS function code that previously delved

Remove the thread argument from all mount->vfs_* function vectors,
replacing it with a ucred pointer when applicable. This cleans up a
considerable amount of VFS function code that previously delved into
the process structure to get the cred, though some code remains.

Get rid of the compatibility thread argument for hpfs and nwfs. Our
lockmgr calls are now mostly compatible with NetBSD (which doesn't use a
thread argument either).

Get rid of some complex junk in fdesc_statfs() that nobody uses.

Remove the thread argument from dounmount() as well as various other
filesystem specific procedures (quota calls primarily) which no longer
need it due to the lockmgr, VOP, and VFS cleanups. These cleanups also
have the effect of making the VFS code slightly less dependant on the
calling thread's context.

show more ...


# dc1be39c 17-Sep-2005 Matthew Dillon <dillon@dragonflybsd.org>

Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
structure. Add a new flag called VVF_SUPPORTS_FSMID to indicate filesystems
which support persistent storage of FSMIDs.

Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
structure. Add a new flag called VVF_SUPPORTS_FSMID to indicate filesystems
which support persistent storage of FSMIDs. Rework the FSMID code a bit
to reduce overhead.

Use the spare field in the UFS inode structure to implement a persistent
FSMID. The FSMID is recursively marked in the namecache but not adjusted
until the next getattr() call on the related inode(s), or when the vnode
is reclaimed.

show more ...


# 43c45e8f 26-Jul-2005 Hiten Pandya <hmp@dragonflybsd.org>

Clean the VFS operations vector and related code:

* take advantage of C99 sparse structure initialisation, this allows
us to initialise left out vfsops entries cleanly when vfs_register()
is cal

Clean the VFS operations vector and related code:

* take advantage of C99 sparse structure initialisation, this allows
us to initialise left out vfsops entries cleanly when vfs_register()
is called; any vfsop entries that are not specified will be assigned
vfs_std* functions. the only exception to this rule is VFS_SYNC
which is assigned vfs_stdnosync() since a file system may not have
support for it. file systems can simply assign vfs_stdsync if they
do not have their own sync operation.

* add KKASSERTS to make sure that the VFS_ROOT, VFS_MOUNT and VFS_UNMOUNT
vfs operations are provided by a file system being registered. all of
the above are necessary to ensure a minimally working file system.

* remove scattered no-op definitions of VFS_START() vfsop vector entry
and take advantage of sparse vfsop initialisation. VFS_START is only
used by MFS to make ensure calling process is not swapped out when
I/O is initialised. The entry point is called from the mount path,
before the file system is marked ready.

* remove scattered no-op definitions of VFS_QUOTACTL() vfsop vector entry
and take advantage of sparse vfsop initialisation.

* give UFS a VFS_UNINIT vfsop entry and make use of it in ext2fs when
ripping down the hash tables.

* many file systems in the kernel seem to not implement the complementing
VFS_UNINIT() vfsop entry, this is not so much of a problem when the
file system is compiled into the kernel, but it can leave leakage when
compiled as KLD modules. add uninitialisation code and entry points
for ext2fs, ufs, fdescfs. grab the ufs_ihash_token when free'ing the
inode hash table at ripping time.

* add typedefs for all the vfsop entry points, make use of it in definition
of struct vfsops; this results in clean and consolidate code. use the
typedefs for vfs_std* function prototypes.

show more ...


# 75ffff0d 02-Feb-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

Don't use the statfs field f_mntonname in filesystems. For the userland
export code, it can synthesized from mnt_ncp.
For debugging code, use f_mntfromname, it should be enough to find
culprit. The v

Don't use the statfs field f_mntonname in filesystems. For the userland
export code, it can synthesized from mnt_ncp.
For debugging code, use f_mntfromname, it should be enough to find
culprit. The vfs_unmountall doesn't use code_fullpath to avoid problems
with resource allocation and to make it more likely that a call from ddb
succeds.
Change getfsstat and fhstatfs to not show directories outside a chroot
path, with the exception of the filesystem counting the chroot root itself.

show more ...


# 6ddb7618 17-Dec-2004 Matthew Dillon <dillon@dragonflybsd.org>

VFS messaging/interfacing work stage 10/99:

Start adding the journaling, range locking, and (very slightly) cache
coherency infrastructure. Continue cleaning up the VOP operations vector.

Expand o

VFS messaging/interfacing work stage 10/99:

Start adding the journaling, range locking, and (very slightly) cache
coherency infrastructure. Continue cleaning up the VOP operations vector.

Expand on past commits that gave each mount structure its own set of VOP
operations vectors by adding additional vector sets for journaling or
cache coherency operations. Remove the vv_jops and vv_cops fields
from the vnode operations vector in favor of placing those vop_ops directly
in the mount structure. Reorganize the VOP calls as a double-indirect
and add a field to the mount structure which represents the current
vnode operations set (which will change when e.g. journaling is turned on
or off). This creates the infrastructure necessary to allow us to stack
a generic journaling implementation on top of a filesystem.

Introduce a hard range-locking API for vnodes. This API will be used by
high level system/vfs calls in order to handle atomicy guarentees. It is
a prerequisit for: (1) being able to break I/O's up into smaller pieces
for the vm_page list/direct-to-DMA-without-mapping goal, (2) to support
the parallel write operations on a vnode goal, (3) to support the clustered
(remote) cache coherency goal, and (4) to support massive parallelism in
dispatching operations for the upcoming threaded VFS work.

This commit represents only infrastructure and skeleton/API work.

show more ...


# 21739618 30-Sep-2004 Matthew Dillon <dillon@dragonflybsd.org>

VFS messaging/interfacing work stage 7/99. BEGIN DESTABILIZATION!

Implement the infrastructure required to allow us to begin switching to the
new nlookup() VFS API.

filedesc->fd_ncdir, fd_nrdir,

VFS messaging/interfacing work stage 7/99. BEGIN DESTABILIZATION!

Implement the infrastructure required to allow us to begin switching to the
new nlookup() VFS API.

filedesc->fd_ncdir, fd_nrdir, fd_njdir

File descriptors (associated with processes) now record the
namecache pointer related to the current directory, root directory,
and jail directory, in addition to the vnode pointers. These
pointers are used as the basis for the new path lookup code
(nlookup() and friends).

file->f_ncp

File pointers may now have a referenced+unlocked namecache
pointer associated with them. All fp's representing directories
have this attached. This allows fchdir() to properly record
the ncp in fdp->fd_ncdir and friends.

mount->mnt_ncp

The namecache topology for crossing a mount point works as
follows: when looking up a path element which is a mount point,
cache_nlookup() will locate the ncp for the vnode-under the
mount point. mount->mnt_ncp represents the root of the mount,
that is the vnode-over. nlookup() detects the mount point and
accesses mount->mnt_ncp to skip past the vnode-under. When going
backwards (..), nlookup() detects the case and skips backwards.

The ncp linkages are: ncp->ncp->ncp[vnode_under]->ncp[vnode_over].
That is, when going forwards or backwards nlookup must explicitly
skip over the double-ncp when crossing a mount point. This allows
us to keep the namecache topology intact across mount points.

NEW CACHE level API functions:

cache_get() Reference and lock a namecache entry
cache_put() Dereference and unlock a namecache entry
cache_lock() lock an already-referenced namecache entry
cache_unlock() unlock a lockednamecache entry

NOTE: namecache locks are exclusive and recursive. These are
the 'namespace' locks that we will be using to guarentee namespace
operations such as in a CREATE, RENAME, or REMOVE.

vfs_cache_setroot() Set the new system-wide root directory
cache_allocroot() System bootstrap helper function to allocate
the root namecache node.

cache_resolve() Resolve a NCF_UNRESOLVED namecache node. The
namecache node should be locked on call.

cache_setvp() (resolver) associate a VP or create a negative
cache entry representation for a namecache
pointer and clear NCF_UNRESOLVED. The
namecache node should be locked on call.

cache_setunresolved() Revert a resolved namecache entry back to an
unresolved state, disassociating any vnode
but leaving the topology intact. The
namecache node should be locked on call.

cache_vget() Obtain the locked+refd vnode related to
a namecache entry, resolving the entry if
necessary. Return ENOENT if the entry
represents a negative cache hit.

cache_vref() Obtained a refd (not locked) vnode related to
a namecache entry, as above.

cache_nlookup() The new namecache lookup routine. This routine
does a lookup and allocates a new namecache
node (into an unresolved state) if necessary.
Returns a namecache record whether or not
the item can be found and whether or not it
represents a positive or negative hit.

cache_lookup() OLD API CODE DEPRECATED, but must be maintained
until everything has been converted over.
cache_enter() OLD API CODE DEPRECATED, but must be maintained
until everything has been converted over.

NEW default VOPs

vop_noresolve() Implements a namecache resolver for VFSs
which are still using the old VOP_LOOKUP/
VOP_CACHEDLOOKUP API (which is all of them
still).

VOP_LOOKUP OLD API CODE DEPRECATED, but must be maintained
until everything has been converted over.
VOP_CACHEDLOOKUP OLD API CODE DEPRECATED, but must be maintained
until everything has been converted over.

NEW PATHNAME LOOKUP CODE

nlookup_init() Similar to NDINIT, initialize a nlookupdata
structure for nlookup() and nlookup_done().

nlookup() Lookup a path. Unlike the old namei/lookup
code the new lookup code does not do any
fancy pre-disposition of the cache for
create/delete, it simply looks up the requested
path and returns the appropriate locked
namecache pointer. The caller can obtain the
vnode and directory vnode, as applicable, from
the one namecache structure that is returned.

Access checks are done on directories leading
up to the result but not done on the returned
namecache node.

nlookup_done() Mandatory routine to cleanup a nlookupdata
structure after it has been initialized and
all operations have been completed on it.

nlookup_simple() (in progress) all-in-one wrapped new lookup.

nlookup_mp() helper call for resolving a mount point's
glue NCP. hackish, will be cleaned up later.

nreadsymlink() helper call to resolve a symlink. Note that
the namecache does not yet cache symlink data
but the intention is to eventually do so to
avoid having to do VFS ops to get the data.

naccess() Perform access checks on a namecache node
given a mode and cred.

naccess_va() Perform access cheks on a vattr given a
mode and cred.

Begin switching VFS operations from using namei to using nlookup.
In this batch:

* mount (install mnt_ncp for cross-mount-point handling in
nlookup, simplify the vfs_mount() API to no longer
pass a nameidata structure)
* [l]stat (use nlookup)
* [f]chdir (use nlookup, use recorded f_ncp)
* [f]chroot (use nlookup, use recorded f_ncp)

show more ...


# 3446c007 28-Aug-2004 Matthew Dillon <dillon@dragonflybsd.org>

VFS messaging/interfacing work stage 4/99. This stage goes a long ways
towards allowing us to move the vnode locking into a kernel layer. It
gets rid of a lot of cruft from FreeBSD-4. FreeBSD-5 ha

VFS messaging/interfacing work stage 4/99. This stage goes a long ways
towards allowing us to move the vnode locking into a kernel layer. It
gets rid of a lot of cruft from FreeBSD-4. FreeBSD-5 has done some of this
stuff too (such as changing the default locking to stdlock from nolock),
but DragonFly is going further.

* Consolidate vnode locks into the vnode structure, add an embedded v_lock,
and getting rid of both v_vnlock and v_data based head-of-structure locks.

* Change the default vops to use a standard vnode lock rather then a fake
non-lock.

* Get rid of vop_nolock() and friends, we no longer support non-locking
vnodes.

* Get rid of vop_sharedlock(), we no longer support non standard shared-only
locks (only NFS was using it and the mount-crossing lookup code should
now prevent races to root from dead NFS volumes).

* Integrate lock initialization into getnewvnode(). We do not yet
incorporate automatically locking into getnewvnode(). getnewvnode()
now has two additional arguments, lktimeout and lkflags, for lock
structure initialization.

* Change the sync vnode lock from nolock to stdlock. This may require more
tuning down the line. Fix various sync_inactive() to properly unlock
the lock as per the VOP API.

* Properly flag the 'rename' vop operation regarding required tdvp and tvp
unlocks (the flags are only used by nullfs).

* Get rid of all inode-embedded vnode locks

* Remove manual lockinit and use new getnewvnode() args instead.
Lock the vnode prior to doing anything that might block in
order to avoid synclist access before the vnode has been properly
initialize.

* Generally change inode hash insertion to also check
for a hash collision and return failure if it occurs,
rather then doing (often non-atomic) relookups and
other checks. These sorts of collisions can occur
if a vnode is being destroyed at the same time a new
vnode is being created from an inode. A new vnode is
not generally accessible, except by the sync code (from
the mountlist) until it's underlying inode has been hashed
so dealing with a hash collision should be as simple as
throwing away the vnode with a vput().

* Do not initialize a new vnode's v_data until after
the associated inode has been successfully added to
the hash, and make the xxx_inactive() and xxx_reclaim()
code friendly towards vnodes with a NULL v_data.

* NFS now uses standard locks rather then shared-only locks.

* PROCFS now uses standard locks rather then non-locks, and PROCFS's
lookup code now understands VOP lookup semantics. PROCFS now uses
a real hash table for its node search rather then a single singly-linked
list (which should better scale to systems with thousands of processes).

* NULLFS should now properly handle lookup() and rename() locks. NULLFS's
node handling code has been rewritten. NULLFS's bypass code now understands
vnode unlocks (rename case).

* UFS no longer needs the ffs_inode_hash_lock hacks. It now uses the new
collision-on-hash-add methodology. This will speed up UFS when operating
on lots of small files (reported by David Rhodus).

show more ...


# 0961aa92 17-Aug-2004 Matthew Dillon <dillon@dragonflybsd.org>

VFS messaging/interfacing work stage 2/99. This stage retools the vnode ops
vector dispatch, making the vop_ops a per-mount structure rather then a
per-filesystem structure. Filesystem mount code,

VFS messaging/interfacing work stage 2/99. This stage retools the vnode ops
vector dispatch, making the vop_ops a per-mount structure rather then a
per-filesystem structure. Filesystem mount code, typically in blah_vfsops.c,
must now register various vop_ops pointers in the struct mount to compile
its VOP operations set.

This change will allow us to begin adding per-mount hooks to VFSes to support
things like kernel-level journaling, various forms of cache coherency
management, and so forth.

In addition, the vop_*() calls now require a struct vop_ops pointer as the
first argument instead of a vnode pointer (note: in this commit the VOP_*()
macros currently just pull the vop_ops pointer from the vnode in order to
call the vop_*() procedures). This change is intended to allow us to divorce
ourselves from the requirement that a vnode pointer always be part of a VOP
call. In particular, this will allow namespace based routines such as
remove(), mkdir(), stat(), and so forth to pass namecache pointers rather then
locked vnodes and is a very important precursor to the goal of using the
namecache for namespace locking.

show more ...


# ac424f9b 02-May-2004 Chris Pressey <cpressey@dragonflybsd.org>

Style(9) cleanup to src/sys/vfs, stage 15/21: procfs.

- Convert K&R-style function definitions to ANSI style.

Submitted-by: Andre Nathan <andre@digirati.com.br>
Additional-reformatting-by: cpressey


# a6ee311a 20-Aug-2003 Robert Garrett <rob@dragonflybsd.org>

__P()!=wanted, remove old style prototypes from the vfs subtree


# 1f2de5d4 07-Aug-2003 Matthew Dillon <dillon@dragonflybsd.org>

kernel tree reorganization stage 1: Major cvs repository work (not logged as
commits) plus a major reworking of the #include's to accomodate the
relocations.

* CVS repository files manually move

kernel tree reorganization stage 1: Major cvs repository work (not logged as
commits) plus a major reworking of the #include's to accomodate the
relocations.

* CVS repository files manually moved. Old directories left intact
and empty (temporary).

* Reorganize all filesystems into vfs/, most devices into dev/,
sub-divide devices by function.

* Begin to move device-specific architecture files to the device
subdirs rather then throwing them all into, e.g. i386/include

* Reorganize files related to system busses, placing the related code
in a new bus/ directory. Also move cam to bus/cam though this may
not have been the best idea in retrospect.

* Reorganize emulation code and place it in a new emulation/ directory.

* Remove the -I- compiler option in order to allow #include file
localization, rename all config generated X.h files to use_X.h to
clean up the conflicts.

* Remove /usr/src/include (or /usr/include) dependancies during the
kernel build, beyond what is normally needed to compile helper
programs.

* Make config create 'machine' softlinks for architecture specific
directories outside of the standard <arch>/include.

* Bump the config rev.

WARNING! after this commit /usr/include and /usr/src/sys/compile/*
should be regenerated from scratch.

show more ...


# dadab5e9 25-Jun-2003 Matthew Dillon <dillon@dragonflybsd.org>

proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
pointers instead of process pointers as arguments, similar to what FreeBSD-5
did. Note however that ultimately both APIs are

proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
pointers instead of process pointers as arguments, similar to what FreeBSD-5
did. Note however that ultimately both APIs are going to be message-passing
which means the current thread context will not be useable for creds and
descriptor access.

show more ...


12