#
1.77 |
|
26-Oct-2022 |
riastradh |
miscfs/deadfs/deadfs.h: New home for deadfs-related externs.
XXX regen sys/kern/vnode_if.c and the others
|
Revision tags: bouyer-sunxi-drm-base
|
#
1.76 |
|
18-Jul-2022 |
thorpej |
Make kqueue event status for vnodes shareable, and for stacked file systems like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
#
1.75 |
|
03-May-2022 |
hannken |
Really depend the lockdebug checks on option VNODE_LOCKDEBUG -- were enabled by accident.
|
#
1.74 |
|
03-May-2022 |
hannken |
Make option VNODE_LOCKDEBUG more functional.
- Add "LOCKED=EXCL" option for vnode operations needing exclusive locked nodes.
- As it is impossible to check for shared locks held by current thread avoid false assertions by testing for exclusive lock only in the "LOCKED=NO" case.
- New option "RUMP_VNODE_LOCKDEBUG" enables VNODE_LOCKDEBUG for the rump kernel.
|
#
1.73 |
|
19-Mar-2022 |
hannken |
Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.76 |
|
18-Jul-2022 |
thorpej |
Make kqueue event status for vnodes shareable, and for stacked file systems like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
#
1.75 |
|
03-May-2022 |
hannken |
Really depend the lockdebug checks on option VNODE_LOCKDEBUG -- were enabled by accident.
|
#
1.74 |
|
03-May-2022 |
hannken |
Make option VNODE_LOCKDEBUG more functional.
- Add "LOCKED=EXCL" option for vnode operations needing exclusive locked nodes.
- As it is impossible to check for shared locks held by current thread avoid false assertions by testing for exclusive lock only in the "LOCKED=NO" case.
- New option "RUMP_VNODE_LOCKDEBUG" enables VNODE_LOCKDEBUG for the rump kernel.
|
#
1.73 |
|
19-Mar-2022 |
hannken |
Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.75 |
|
03-May-2022 |
hannken |
Really depend the lockdebug checks on option VNODE_LOCKDEBUG -- were enabled by accident.
|
#
1.74 |
|
03-May-2022 |
hannken |
Make option VNODE_LOCKDEBUG more functional.
- Add "LOCKED=EXCL" option for vnode operations needing exclusive locked nodes.
- As it is impossible to check for shared locks held by current thread avoid false assertions by testing for exclusive lock only in the "LOCKED=NO" case.
- New option "RUMP_VNODE_LOCKDEBUG" enables VNODE_LOCKDEBUG for the rump kernel.
|
#
1.73 |
|
19-Mar-2022 |
hannken |
Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.75 |
|
03-May-2022 |
hannken |
Really depend the lockdebug checks on option VNODE_LOCKDEBUG -- were enabled by accident.
|
#
1.74 |
|
03-May-2022 |
hannken |
Make option VNODE_LOCKDEBUG more functional.
- Add "LOCKED=EXCL" option for vnode operations needing exclusive locked nodes.
- As it is impossible to check for shared locks held by current thread avoid false assertions by testing for exclusive lock only in the "LOCKED=NO" case.
- New option "RUMP_VNODE_LOCKDEBUG" enables VNODE_LOCKDEBUG for the rump kernel.
|
#
1.73 |
|
19-Mar-2022 |
hannken |
Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.73 |
|
19-Mar-2022 |
hannken |
Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.72 |
|
20-Oct-2021 |
thorpej |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.71 |
|
12-Aug-2021 |
andvar |
s/beween/between/
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.70 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.6; 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.69 |
|
23-Feb-2020 |
ad |
Merge from ad-namecache:
- Have a stab at clustering the members of vnode_t and vnode_impl_t in a more cache-conscious way. With that done, go back to adjusting v_usecount with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).
- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT(). Make sure LK_UPGRADE always comes with LK_NOWAIT.
- Make cwdinfo use mostly lockless.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.68 |
|
01-Dec-2019 |
ad |
branches: 1.68.2; Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.68 |
|
01-Dec-2019 |
ad |
Minor vnode locking changes:
- Stop using atomics to maniupulate v_usecount. It was a mistake to begin with. It doesn't work as intended unless the XLOCK bit is incorporated in v_usecount and we don't have that any more. When I introduced this 10+ years ago it was to reduce pressure on v_interlock but it doesn't do that, it just makes stuff disappear from lockstat output and introduces problems elsewhere. We could do atomic usecounts on vnodes but there has to be a well thought out scheme.
- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively when there is increased use of shared locks on vnodes.
- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of struct vnode.
- Put all of the LRU lists into a single cache line, and do not requeue a vnode if it's already on the correct list and was requeued recently (less than a second ago).
Kernel build before and after:
119.63s real 1453.16s user 2742.57s system 115.29s real 1401.52s user 2690.94s system
|
Revision tags: phil-wifi-20191119
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
branches: 1.66.10; Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.67 |
|
11-Oct-2019 |
hannken |
As VOP_STRATEGY() usually calls itself on the file system holding "/dev" it may deadlock on suspension of this file system.
Add fstrans type LAZY and use it for VOP_STRATEGY().
Adress PR kern/53624 (dom0 freeze on domU exit) is still there
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.66 |
|
04-Jun-2017 |
hannken |
Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.66 |
|
04-Jun-2017 |
hannken |
Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
|
#
1.65 |
|
04-Jun-2017 |
hannken |
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE and FSTRANS before and after the "VCALL()".
Take FSTRANS and handle error before "VCALL(...vop_lock...)" and release it after "VCALL(...vop_unlock...)".
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
branches: 1.64.4; Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.64 |
|
16-Apr-2017 |
riastradh |
Count vnode arguments correctly.
Don't count arguments that have WILLRELE/WILLPUT; count arguments that are struct vnode *.
No functional change currently because it happens that every released or put vnode argument comes first or after other ones.
|
#
1.63 |
|
11-Apr-2017 |
riastradh |
Eliminate now-unused WILLUNLOCK vop flag.
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
branches: 1.61.2; 1.61.4; "rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
#
1.62 |
|
22-Feb-2017 |
hannken |
Prepare to move fstrans into vnode_if.c, allow "FSTRANS=YES" and "FSTRANS=NO" in the vop description. Add fstrans_start()/fstrans_done() to all vops that have FSTRANS=YES or have the first vnode unlocked.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
"rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.61 |
|
26-Jan-2016 |
pooka |
"rump_private.h" -> <rump-sys/kern.h>
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.60 |
|
13-Jan-2014 |
hannken |
branches: 1.60.6; Support for vnode operation versioning. Allow a new keyword "VERSION" in the description so "VERSION 2" will change the name of the argument from vop_XXX_args to vop_XXX_v2_args.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
#
1.59 |
|
17-Jul-2013 |
pooka |
Additionally translate daddr_t to int64_t in the rumpvnode interface. The type daddr_t is not available for all systems (e.g. Linux systems with musl libc), and exposing it will just cause an unnecessary compilation failure even if the type is not used.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.58 |
|
11-Jul-2011 |
hannken |
branches: 1.58.2; 1.58.12; 1.58.16; 1.58.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.57 |
|
03-Apr-2011 |
rmind |
- Use offsetof() in VOPARG_OFFSETOF() instead of re-implementing it. - Remove VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE. - Remove VRELEL_NOINACTIVE and VRELEL_ONHEAD.
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
#
1.56 |
|
14-Apr-2010 |
pooka |
branches: 1.56.2; Make rump vnode interface lightweight: the only things we really need are:
0) provide VOP_OP in the alternate RUMP_VOP_OP namespace
and for each op: 1) schedule rump cpu 2) call VOP_OP 3) unschedule rump cpu
While here, take the opportunity to get rid of _t lossage in the rump-exported interfaces.
|
#
1.55 |
|
14-Apr-2010 |
pooka |
Print "end of special cases" only where special cases end and not a second time at the end of the file. Adjust whitespace for the sheer functional joy of it.
(i hope i didn't ruin someone's joke by missing a humorous implication that all vnode operations are considered a little special)
|
#
1.54 |
|
10-Apr-2010 |
pooka |
"Not yet" since 4.4BSD is quite a lot of "not yet", so remove vdesc_transports from vnodeop_desc until we have a "not not yet" situation.
Ride 5.99.27 bump (full build still in progress. i wanted to get this in as soon as possible to most effectively ride the bump.)
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
|
#
1.53 |
|
15-Oct-2009 |
pooka |
branches: 1.53.2; 1.53.4; Generate scheduling points around rump vnode operations.
|
#
1.52 |
|
29-Sep-2009 |
pooka |
Add a switch on whether to create VNODE_LOCKDEBUG checks or not. Since VNODE_LOCKDEBUG has never been generally useful, default to off. However, the checks can still be generated by flipping the switch for the isolated cases where this form of dynamic analysis is useful and the person using it knows what she is doing.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.51 |
|
19-Nov-2008 |
pooka |
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
#
1.50 |
|
17-Nov-2008 |
pooka |
Make this generate the rump vnode interface files.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase wrstuden-revivesa-base
|
#
1.49 |
|
19-May-2008 |
ad |
branches: 1.49.4; 1.49.6; Reduce ifdefs due to MULTIPROCESSOR slightly.
|
Revision tags: yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
#
1.48 |
|
02-Jan-2008 |
ad |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; Merge vmlocking2 to head.
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.47 |
|
26-Nov-2007 |
pooka |
branches: 1.47.2; 1.47.6; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.46 |
|
06-Nov-2007 |
ad |
Merge from vmlocking.
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
#
1.45 |
|
10-Oct-2007 |
ad |
branches: 1.45.2; 1.45.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.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
|
#
1.44 |
|
22-Jul-2007 |
pooka |
branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; Introduce WILLMAKE for vnode operations which create a new vnode. Insert a KASSERT along the return path of such operations to check that the operation set the vnode size.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.43 |
|
30-Nov-2006 |
pooka |
branches: 1.43.8; 1.43.18; Generate preprocessor macros for vop offsets in vfs op descs. And use these symbols in the desc structures instead of magic numbers. No functional change, except VOP_FOO_DESCOFFSET macros in vnode_if.h.
wrstuden ok
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.42 |
|
14-May-2006 |
elad |
branches: 1.42.8; 1.42.10; integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.41 |
|
11-Dec-2005 |
christos |
branches: 1.41.4; 1.41.6; 1.41.8; 1.41.10; 1.41.12; merge ktrace-lwp.
|
Revision tags: ktrace-lwp-base
|
#
1.40 |
|
07-Dec-2005 |
thorpej |
Generate ANSI function decls.
|
#
1.39 |
|
07-Dec-2005 |
thorpej |
Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops. Briefly discussed on tech-kern not too long ago.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.38 |
|
26-Feb-2005 |
perry |
branches: 1.38.4; remove some trailing spaces in generated output when removing $s from $NetBSD$
|
#
1.37 |
|
26-Feb-2005 |
perry |
Change the DO NOT EDIT warning slightly, including the text "DO NOT EDIT". (It is nice if all files that should not be edited have DO NOT EDIT in them.)
|
#
1.36 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.35 |
|
21-Sep-2004 |
thorpej |
branches: 1.35.4; 1.35.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.34 |
|
25-Jan-2004 |
hannken |
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
#
1.33 |
|
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.32 |
|
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.31 |
|
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
#
1.30 |
|
12-Nov-2001 |
lukem |
add RCSID to generated .c file
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-May-2001 |
lukem |
branches: 1.29.2; 1.29.6; delint: vop_default_desc was declared const but not defined const.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.28 |
|
22-Jan-2001 |
jdolecek |
branches: 1.28.2; when generating individual *_desc, generate also proper offsets so that then don't need to be patched at runtime add new define VNODE_OPS_COUNT (to vnode_if.h) so that the number is known at compile-time make stuff const, it now can be
|
#
1.27 |
|
19-Jan-2001 |
martin |
Remove over-const-ification. This structures are actually modified at kernel init time by vfs_op_init.
XXX - looks like the state after initialization is pretty const and with some magic in the generator script (and appropriate changes to vfs_op_init) it could be made const.
|
#
1.26 |
|
18-Jan-2001 |
jdolecek |
constify
|
#
1.25 |
|
22-Dec-2000 |
fvdl |
Make that defined(LKM) || defined(_LKM), to catch both the cases of compiling a kernel with LKM support and compiling an LKM.
|
#
1.24 |
|
22-Dec-2000 |
fvdl |
LKM -> _LKM around opt_ include.
|
#
1.23 |
|
22-Dec-2000 |
mrg |
redo the previous correctly
|
#
1.22 |
|
22-Dec-2000 |
mrg |
avoid redefinition of VNODE_OP_NOINLINE
|
#
1.21 |
|
13-Sep-2000 |
thorpej |
If building an LKM, always cause it to use the non-inline version of the vnode ops, and if LKM support is included in the kernel, always include the non-inline stubs regardless of whether or not they're being used in the static kernel iamge.
|
#
1.20 |
|
13-Sep-2000 |
thorpej |
Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE kernel option. Saves 36k of kernel text on an i386 GENERIC. Useful for install media kernels, small memory systems, embedded systems.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
|
#
1.19 |
|
07-Jul-1999 |
wrstuden |
branches: 1.19.2; Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which really vput to indicate that rather than just WILLRELE.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
|
#
1.18 |
|
13-Sep-1998 |
christos |
branches: 1.18.8; Quote the backquotes in the double-quoted shell string, otherwise they disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
|
Revision tags: eeh-paddr_t-base
|
#
1.17 |
|
30-Jul-1998 |
mycroft |
branches: 1.17.2; __Namespace__ __protection__.
|
#
1.16 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
#
1.15 |
|
09-Jan-1998 |
thorpej |
Add RCS IDs to generated files, in correct place.
|
#
1.14 |
|
08-Jan-1998 |
thorpej |
Back out RCS ID related changes.
|
#
1.13 |
|
05-Jan-1998 |
perry |
fix RCS ids insertion so it really works
|
#
1.12 |
|
05-Jan-1998 |
perry |
make script insert RCS ids into generated files
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.11 |
|
07-Jul-1997 |
cgd |
mark prototypes for static inline functions in the generated files as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with most ports' default warning flags.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.10 |
|
22-Jan-1997 |
mikel |
add multiple inclusion protection to generated header
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.9 |
|
29-Feb-1996 |
cgd |
Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft.
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
#
1.8 |
|
10-Mar-1995 |
chopps |
add prototypes before each inline
|
#
1.7 |
|
25-Aug-1994 |
cgd |
gwr's slightly cleaner way to do that last...
|
#
1.6 |
|
11-Aug-1994 |
cgd |
make output a bit cleaner, to satisfy mckusick.
|
#
1.5 |
|
15-Jul-1994 |
cgd |
don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc
|
Revision tags: netbsd-1-0-base
|
#
1.4 |
|
29-Jun-1994 |
cgd |
branches: 1.4.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
#
1.3 |
|
15-Jun-1994 |
gwr |
Get rid if 'set -f' (at Adam's request). It is unnecessary, and not supported by sh on some systems (i.e. Ultrix).
|
#
1.2 |
|
15-Jun-1994 |
gwr |
No longer requires GNU awk (plain "nawk" is OK). New AWK parser is simpler and makes better use of arrays.
|
#
1.1 |
|
08-Jun-1994 |
mycroft |
branches: 1.1.1; Update to 4.4-Lite fs code.
|