History log of /src/sys/kern/vfs_init.c |
Revision | | Date | Author | Comments |
1.67 |
| 07-Dec-2024 |
riastradh | vfs(9): Sprinkle SET_ERROR dtrace probes.
PR kern/58378: Kernel error code origination lacks dtrace probes
|
1.66 |
| 07-Dec-2024 |
riastradh | vfs(9): Fix some more whitespace issues.
No functional change intended.
|
1.65 |
| 07-Dec-2024 |
riastradh | vfs(9): Sprinkle KNF.
No functional change intended.
|
1.64 |
| 23-Sep-2023 |
ad | branches: 1.64.6; Repply this change with a couple of bugs fixed:
- Do away with separate pool_cache for some kernel objects that have no special requirements and use the general purpose allocator instead. On one of my test systems this makes for a small (~1%) but repeatable reduction in system time during builds presumably because it decreases the kernel's cache / memory bandwidth footprint a little. - vfs_lockf: cache a pointer to the uidinfo and put mutex in the data segment.
|
1.63 |
| 12-Sep-2023 |
ad | Back out recent change to replace pool_cache with then general allocator. Will return to this when I have time again.
|
1.62 |
| 10-Sep-2023 |
ad | - Do away with separate pool_cache for some kernel objects that have no special requirements and use the general purpose allocator instead. On one of my test systems this makes for a small (~1%) but repeatable reduction in system time during builds presumably because it decreases the kernel's cache / memory bandwidth footprint a little. - vfs_lockf: cache a pointer to the uidinfo and put mutex in the data segment.
|
1.61 |
| 29-Apr-2023 |
riastradh | vfs(9): Move SDT_PROVIDER_DEFINE(vfs) from vfs_cache.c to vfs_init.c.
Not a namecache-specific thing.
|
1.60 |
| 29-Apr-2023 |
riastradh | kern/vfs_init.c: Sort includes. No functional change intended.
|
1.59 |
| 18-Nov-2022 |
riastradh | kern/vfs_init.c: extern vfs_op_descs got rehomed in sys/vnode.h.
|
1.58 |
| 26-Oct-2022 |
riastradh | miscfs/fifofs/fifo.h: New home for extern fifo_vnodeop_opv_desc.
Add include guard and fix missing includes while here too.
|
1.57 |
| 26-Oct-2022 |
riastradh | miscfs/specfs/specdev.h: New home for extern spec_vnodeop_opv_desc.
Also use it for extern spec_vnodeop_p, which is already there.
|
1.56 |
| 26-Oct-2022 |
riastradh | miscfs/deadfs/deadfs.h: New home for deadfs-related externs.
XXX regen sys/kern/vnode_if.c and the others
|
1.55 |
| 26-Oct-2022 |
riastradh | sys/mount.h: New home for vfs_timestamp_precision, vfs_magiclinks.
|
1.54 |
| 12-Feb-2022 |
thorpej | Add inline functions to manipulate the klists that link up knotes via kn_selnext:
- klist_init() - klist_fini() - klist_insert() - klist_remove()
These provide some API insulation from the implementation details of these lists (but not completely; see vn_knote_attach() and vn_knote_detach()). Currently just a wrapper around SLIST(9).
This will make it significantly easier to switch kn_selnext linkage to a different kind of list.
|
1.53 |
| 26-Sep-2021 |
thorpej | Fix the locking around EVFILT_FS. Previously, the code would walk the fs_klist and take the kqueue_misc_lock inside the event callback. However, that list can be modified by the attach and detach callbacks, which could result in the walker stepping right off a cliff.
Instead, we give the fs_klist it's own lock, and hold it while we call knote(), using the NOTE_SUBMIT protocol. Also, fs_filtops into vfs_syscalls.c so all of the locking logic is contained in one file (there is precedence with sig_filtops). fs_filtops is now marked MPSAFE.
|
1.52 |
| 04-Feb-2021 |
jdolecek | introduce vfs.generic.timestamp_precision sysctl to control precision of the timer used for vfs_timestamp(); default stays the same to use nanotime(9), but option is there to use the faster, albeit less precise methods
code taken from FreeBSD
suggested by Mateusz Guzik in: http://mail-index.netbsd.org/tech-kern/2020/07/19/msg026620.html
|
1.51 |
| 16-May-2020 |
christos | branches: 1.51.2; Add ACL support for FFS. From FreeBSD.
|
1.50 |
| 21-Feb-2020 |
joerg | Explicitly cast pointers to uintptr_t before casting to enums. They are not necessarily the same size. Don't cast pointers to bool, check for NULL instead.
|
1.49 |
| 28-Mar-2019 |
maxv | branches: 1.49.6; Move pnbuf_cache into vfs_init.c, where it belongs.
|
1.48 |
| 06-May-2015 |
hannken | branches: 1.48.18; Remove miscfs/syncfs and
- move the syncer into kern/vfs_subr.c.
- change the syncer to process the mountlist and VFS_SYNC as appropriate.
- use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.
No objections on tech-kern@
|
1.47 |
| 25-Feb-2014 |
pooka | branches: 1.47.6; Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate lines of code.
|
1.46 |
| 13-Mar-2012 |
elad | branches: 1.46.2; 1.46.4; Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
1.45 |
| 05-Oct-2009 |
elad | branches: 1.45.12; 1.45.16; - Add usermount_common_policy() that implements some common (everything but access control) user mounting policies: enforced MNT_NOSUID and MNT_NODEV, no MNT_EXPORT, MNT_EXEC propagation. This can be useful for secmodels that are interested in simply adding finer grained user mount support.
- Add a mount subsystem listener for KAUTH_REQ_SYSTEM_MOUNT_GET.
|
1.44 |
| 03-May-2009 |
elad | Move dovfsusermount to secmodel_bsd44, where it really belongs.
The secmodel code now creates the same knob in two places: both under the secmodel itself, as well as the widely known location.
Mailing list references:
http://mail-index.netbsd.org/source-changes/2009/05/02/msg220641.html http://mail-index.netbsd.org/tech-kern/2009/05/03/msg005015.html
|
1.43 |
| 17-Jan-2009 |
yamt | branches: 1.43.2; malloc -> kmem_alloc.
|
1.42 |
| 07-Dec-2008 |
pooka | Move some sysctl node creations away from linksets and into the constructors for subsystems.
XXX: CTLFLAG_PERMANENT is non-sensible.
|
1.41 |
| 27-Sep-2008 |
reinoud | branches: 1.41.2; Add generic FS agnostic directory hashing support. Currently only in use by UDF. Future users could be msdosfs, ufs, nilfs2 (when ready), cd9660 etc.
Note that its not the same as UFS's DIRHASH support; UFS would need a good cleanup/splitout of directory operations to adopt to this new directory hashing support since most directory operations are interweaved with the vnops itself. This is a TODO.
|
1.40 |
| 10-May-2008 |
rumble | branches: 1.40.4; Convert file systems to dynamically attach with the new module interface. Make VFS hooks dynamic while we're here and say farewell to VFS_ATTACH and VFS_HOOKS_ATTACH linksets.
As a consequence, most of the file systems can now be loaded as new style modules.
Quick sanity check by ad@.
|
1.39 |
| 04-May-2008 |
ad | branches: 1.39.2; Ensure that there is always a link_set_vfsops, until we kill VFS_ATTACH().
|
1.38 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.37 |
| 16-Jan-2008 |
ad | branches: 1.37.6; 1.37.8; 1.37.10; Pull in my modules code for review/test/hacking.
|
1.36 |
| 07-Nov-2007 |
ad | branches: 1.36.6; Merge from vmlocking:
- pool_cache changes. - Debugger/procfs locking fixes. - Other minor changes.
|
1.35 |
| 10-Oct-2007 |
ad | branches: 1.35.2; 1.35.4; Merge from vmlocking:
- Split vnode::v_flag into three fields, depending on field locking. - simple_lock -> kmutex in a few places. - Fix some simple locking problems.
|
1.34 |
| 27-Jul-2007 |
pooka | branches: 1.34.4; 1.34.6; 1.34.8; 1.34.10; Move vfs_attach(), vfs_detach() and vfs_reinit() from vfs_subr.c to vfs_init.c. This permits easier standalone compilation of these routines.
|
1.33 |
| 12-Mar-2007 |
ad | branches: 1.33.8; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.32 |
| 01-Nov-2006 |
yamt | branches: 1.32.4; 1.32.8; remove some __unused from function parameters.
|
1.31 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.30 |
| 27-Dec-2005 |
chs | branches: 1.30.20; 1.30.22; changes for making DIAGNOSTIC not change the kernel ABI: - for structure fields that are conditionally present, make those fields always present. - for functions which are conditionally inline, make them never inline. - remove some other functions which are conditionally defined but don't actually do anything anymore. - make a lock-debugging function conditional on only LOCKDEBUG.
as discussed on tech-kern some time back.
|
1.29 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.28 |
| 05-Jun-2005 |
thorpej | branches: 1.28.2; Use ANSI function decls.
|
1.27 |
| 29-Mar-2005 |
thorpej | - Define a VFS_ATTACH() macro that places a reference to a vfsops structure into the "vfsops" link set. - Use VFS_ATTACH() where vfsops are declared for individual file systems. - In vfsinit(), traverse the "vfsops" link set, rather than vfs_list_initial[].
|
1.26 |
| 26-Feb-2005 |
perry | nuke trailing whitespace
|
1.25 |
| 23-Mar-2004 |
junyoung | branches: 1.25.8; 1.25.10; Nuke __P().
|
1.24 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.23 |
| 17-May-2003 |
mjl | branches: 1.23.2; Typos in comments.
|
1.22 |
| 26-Sep-2002 |
thorpej | Overhaul the way parent attachments are specified; instead of using a vector of indices into the cfdata table to specify potential parents, record the interface attributes that devices have and add a new "parent spec" structure which lists the iattr, as well as optionally listing specific parent device instances.
See:
http://mail-index.netbsd.org/tech-kern/2002/09/25/0014.html
...for a detailed description.
While here, const poison some things, as suggested by Matt Thomas.
|
1.21 |
| 08-Mar-2002 |
thorpej | Pool deals fairly well with physical memory shortage, but it doesn't deal with shortages of the VM maps where the backing pages are mapped (usually kmem_map). Try to deal with this:
* Group all information about the backend allocator for a pool in a separate structure. The pool references this structure, rather than the individual fields. * Change the pool_init() API accordingly, and adjust all callers. * Link all pools using the same backend allocator on a list. * The backend allocator is responsible for waiting for physical memory to become available, but will still fail if it cannot callocate KVA space for the pages. If this happens, carefully drain all pools using the same backend allocator, so that some KVA space can be freed. * Change pool_reclaim() to indicate if it actually succeeded in freeing some pages, and use that information to make draining easier and more efficient. * Get rid of PR_URGENT. There was only one use of it, and it could be dealt with by the caller.
From art@openbsd.org.
|
1.20 |
| 12-Nov-2001 |
lukem | add RCSIDs
|
1.19 |
| 17-Oct-2001 |
thorpej | branches: 1.19.2; Use a pool cache for namei buffers -- it's faster to allocate from a pool cache than a pool.
|
1.18 |
| 22-Jan-2001 |
jdolecek | branches: 1.18.2; 1.18.4; make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const
|
1.17 |
| 22-Jan-2001 |
jdolecek | rename vfs_op_init() to vfs_op_check() and make it only check the offsets and number of ops, not touch anything - vnode_if.sh now generated proper offset numbers; vfs_op_check() is only defined and called for DEBUG kernels
constify extern declaration of vfs_op_descs[] g/c vfs_opv_numops, use VNODE_OPS_COUNT instead make vfs_opv_init_explicit() and vfs_opv_init_default() static
|
1.16 |
| 03-Aug-2000 |
thorpej | Convert namei pathname buffer allocation to use the pool allocator.
|
1.15 |
| 15-Nov-1999 |
fvdl | Add Kirk McKusick's soft updates code to the trunk. Not enabled by default, as the copyright on the main file (ffs_softdep.c) is such that is has been put into gnusrc. options SOFTDEP will pull this in. This code also contains the trickle syncer.
Bump version number to 1.4O
|
1.14 |
| 04-Aug-1998 |
perry | branches: 1.14.12; 1.14.14; 1.14.18; Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one. bcopy(x, y, z) -> memcpy(y, x, z) ovbcopy(x, y, z) -> memmove(y, x, z) bcmp(x, y, z) -> memcmp(x, y, z) bzero(x, y) -> memset(x, 0, y)
|
1.13 |
| 24-Jun-1998 |
sommerfe | Always include fifos; "not an option any more".
|
1.12 |
| 22-Jun-1998 |
sommerfe | defopt for options FIFO
|
1.11 |
| 30-Mar-1998 |
mrg | add missing int to typedef
|
1.10 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.9 |
| 18-Feb-1998 |
thorpej | Change vfs_opv_init_explicit() to not allocate the vnode operations vectors; defer that to vfs_opv_init().
Change the interface to vfs_opv_init() and export it; it now takes a pointer to an array of vnodeopv_desc *'s to initialize. Allocate the vnode operations vectors here. Called by vfs_attach().
Implement vfs_opv_free(), which deallocates the vnode operations vectors. Called by vfs_detach().
Change vfsinit() to build the initial vfs_list by traversing the vfs_list_inital[] table, and vfs_attach()'ing those file systems. Also, initialize special vnodeopv_descs (dead, fifo, spec) which are not associated with any particular file system.
|
1.8 |
| 13-Oct-1996 |
christos | backout previous kprintf change
|
1.7 |
| 10-Oct-1996 |
christos | printf -> kprintf, sprintf -> ksprintf
|
1.6 |
| 09-Feb-1996 |
christos | More proto fixes
|
1.5 |
| 04-Feb-1996 |
christos | First pass at prototyping
|
1.4 |
| 19-Mar-1995 |
mycroft | Use %p.
|
1.3 |
| 24-Jul-1994 |
mycroft | Clean this up a bit, and separate parts of vfs_opv_init() into separate functions.
|
1.2 |
| 29-Jun-1994 |
cgd | branches: 1.2.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.1 |
| 08-Jun-1994 |
mycroft | branches: 1.1.1; Update to 4.4-Lite fs code.
|
1.1.1.2 |
| 01-Mar-1998 |
fvdl | Import 4.4BSD-Lite2
|
1.1.1.1 |
| 01-Mar-1998 |
fvdl | Import 4.4BSD-Lite for reference
|
1.2.2.1 |
| 24-Jul-1994 |
cgd | from trunk
|
1.14.18.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.14.14.1 |
| 19-Oct-1999 |
fvdl | Bring in Kirk McKusick's FFS softdep code on a branch.
|
1.14.12.2 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.14.12.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.18.4.3 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.18.4.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.18.4.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.18.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.18.2.3 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.18.2.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.18.2.1 |
| 22-Oct-2001 |
nathanw | Catch up to -current.
|
1.19.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.23.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.23.2.5 |
| 01-Apr-2005 |
skrll | Sync with HEAD.
|
1.23.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.23.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.23.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.23.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.25.10.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.25.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.28.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.28.2.4 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.28.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.28.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.28.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.30.22.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.30.22.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.30.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.32.8.3 |
| 01-Sep-2007 |
ad | Update for pool_cache API changes.
|
1.32.8.2 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.32.8.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.32.4.1 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.33.8.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.34.10.2 |
| 27-Jul-2007 |
pooka | Move vfs_attach(), vfs_detach() and vfs_reinit() from vfs_subr.c to vfs_init.c. This permits easier standalone compilation of these routines.
|
1.34.10.1 |
| 27-Jul-2007 |
pooka | file vfs_init.c was added on branch matt-mips64 on 2007-07-27 14:25:22 +0000
|
1.34.8.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.34.6.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.34.6.2 |
| 08-Nov-2007 |
matt | sync with -HEAD
|
1.34.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.34.4.2 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.34.4.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.35.4.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.35.4.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.35.2.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.36.6.1 |
| 19-Jan-2008 |
bouyer | Sync with HEAD
|
1.37.10.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.37.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.37.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.37.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.37.6.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.37.6.2 |
| 05-Oct-2008 |
mjf | Sync with HEAD.
|
1.37.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.39.2.2 |
| 10-Oct-2008 |
skrll | Sync with HEAD.
|
1.39.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.40.4.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.40.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.41.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.43.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.45.16.1 |
| 05-Apr-2012 |
mrg | sync to latest -current.
|
1.45.12.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.45.12.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.46.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.46.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.46.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.47.6.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.48.18.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.48.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.49.6.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.51.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.64.6.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|