|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base 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 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 simonb-wapbl-base simonb-wapbl-nbase
|
| 1.1 |
28-Jul-2008 |
pooka |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.20; Install mount argument structure header just like every other file system.
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 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 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.8 |
20-Apr-2015 |
riastradh |
Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
|
|
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 netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 tls-maxphys-base 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 rmind-uvmplock-nbase cherry-xenmp-base 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 rmind-uvmplock-base
|
| 1.7 |
22-Jun-2010 |
rmind |
branches: 1.7.18; 1.7.36; Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
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 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.6 |
09-Nov-2006 |
jmmv |
branches: 1.6.52; 1.6.74; 1.6.76; Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests.
|
| 1.5 |
05-Nov-2006 |
jmmv |
Exporting tmpfs file systems through NFS now works. Sure, file handles are not persistent across reboots but neither are those of MFS, which we are trying to replace. We should probably warn the user somehow, but not prevent him doing this if he really wants to.
While here add a "reply" to the code-style change item.
|
| 1.4 |
05-Nov-2006 |
jdolecek |
add one code style and one knote-related item
|
|
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 simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.3 |
23-Sep-2005 |
jmmv |
branches: 1.3.6; 1.3.26; 1.3.30; 1.3.32; Synchronize NFS status with reality. After yamt@ changes (I think with the implementation of getpages and putpages and the use of UBC in the read and write operations), the worst problem has gone away which was a panic when a file's contents were modified in the original file system and then read through the NFS mount point.
Also remove the entry about optimization. While tmpfs still has room for improvement, it has become a lot better lately, thanks to the string pools and the changes yamt@ did in the anonymous objects handling.
|
| 1.2 |
23-Sep-2005 |
wiz |
Fix typo, add missing parenthesis.
|
| 1.1 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 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 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.6 |
11-Oct-2014 |
uebayasi |
Define filesystem attributes with vfs dependency.
|
|
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 netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 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 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5
|
| 1.5 |
09-May-2012 |
riastradh |
branches: 1.5.2; Adapt tmpfs_rename to use genfs_rename.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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 rmind-uvmplock-nbase cherry-xenmp-base 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 rmind-uvmplock-base
|
| 1.4 |
22-Jun-2010 |
rmind |
branches: 1.4.8; 1.4.12; Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
| 1.3 |
02-Mar-2010 |
pooka |
branches: 1.3.2; Don't generate unused fs_thefs.h headers.
|
|
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 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.2 |
11-Dec-2005 |
christos |
branches: 1.2.18; 1.2.76; 1.2.98; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.1 |
10-Sep-2005 |
jmmv |
branches: 1.1.6; Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base 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.56 |
17-May-2020 |
ad |
PR kern/55268: tmpfs is slow
tmpfs_getpages(): handle the PGO_LOCKED case and implement lazy update of atime/mtime.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base 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
|
| 1.55 |
19-Apr-2018 |
christos |
s/static inline/static __inline/g for consistency.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
| 1.54 |
01-Mar-2017 |
hannken |
branches: 1.54.12; Change the protocol to update a mounted file system from read-write to read-only and vice versa:
- Add an internal flag IMNT_WANTRDONLY. - Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from or to read-only. - After successfull call to VFS_MOUNT() set or clear MNT_RDONLY.
Adapt tmpfs and rumpfs to the new protocol. Other file systems will be updated when they get the IMNT_CAN_RWTORO property.
Welcome to 7.99.64
|
|
Revision tags: nick-nhusb-base-20170204
|
| 1.53 |
27-Jan-2017 |
hannken |
Run vflush() when going from read/write to read only.
|
|
Revision tags: 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 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.52 |
06-Jul-2015 |
hannken |
branches: 1.52.2; 1.52.4; Change tmpfs to vcache. - Use tmpfs node address as key. - Remove tn_vlock, field tn_vnode now protected by vcache. - Add a hold count to tmpfs node to prevent nodes from disappearing while tmpfs_fhtovp() trys to vcache_get() them. Last holder destroys reclaimed nodes. - Remove the now unneeded parent unlock/lock for lookup of '..'.
|
| 1.51 |
06-Jul-2015 |
hannken |
Use VFS_PROTOS() for tmpfs.
|
|
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 netbsd-7-0-RELEASE 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 tls-earlyentropy-base tls-maxphys-base
|
| 1.50 |
07-Jun-2014 |
martin |
branches: 1.50.4; Remove the hardcoded 4 MB free kernel memory limit and replace it by uvmexp.freetarg, as discussed on tech-kern. Main purpose is to make tmpfs usable (as far as possible) on small memory machines. This is a bit experimental, but we need to give it some real world exposure to see how well it works.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.49 |
30-Apr-2014 |
christos |
handle MNT_UPDATE
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.48 |
23-Nov-2013 |
rmind |
branches: 1.48.2; - Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
| 1.47 |
18-Nov-2013 |
rmind |
Make tmpfs_node_t::tn_gen a 32-bit number, keep it in sync with tmpfs_fid_t. Also, change tn_status to unsigned while here.
|
| 1.46 |
08-Nov-2013 |
rmind |
tmpfs: replace the broken tmpfs_dircookie() logic which uses the node address truncated to 31 bits (required for 32-bit readdir compatibility, e.g. linux32). Instead, assign 2^31 range using the following logic: - The first half of the 2^31 is assigned incrementally (the fast path). - When exceeded, use the second half of 2^31, but manage with vmem(9).
It will require 2 billion files per-directory to trigger vmem(9) usage. Also, while here, add some fixes for tmpfs_unmount().
Should fix PR/47739, PR/47480, PR/46088 and PR/41068. Thanks to wiz@ for stress testing.
|
|
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-base2 riastradh-drm2-base1 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.45 |
27-Sep-2011 |
christos |
branches: 1.45.2; 1.45.12; 1.45.16; define and use TMPFS_MAXNAMLEN instead of MAXNAMLEN
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.44 |
29-May-2011 |
rmind |
- Rework and document inode reference counting. Also document inode life cycle (destruction part). Perform link counting in tmpfs_dir_attach() and tmpfs_dir_detach(), instead of alloc/free and arbitrary places. Fixes PR/44285, PR/44288, PR/44657 and likely PR/42484.
- Fix the race between the lookup and inode destruction. Fixes PR/43167 and its duplicates PR/40088, PR/40757.
- Improve tmpfs_rename() locking a little, fix kqueue event notifications and also fix PR/43617. Add simplistic tmpfs_parentcheck_p(); to be expanded and used for further rename() locking fixes.
- Cache directory entry "hint" in the tmpfs node, add tmpfs_dir_cached(), and thus avoid unnecessary lookup in tmpfs_remove() and tmpfs_rmdir().
- Set correct _PC_FILESIZEBITS value in tmpfs_pathconf(). Fixes PR/43576.
- Few minor fixes.
|
| 1.43 |
29-May-2011 |
christos |
undo the multiple inclusion protection part.
|
| 1.42 |
29-May-2011 |
rmind |
- Prevent tmpfs.h from inclusion in userland. - Clean up and KNF tmpfs.h a little bit.
|
| 1.41 |
24-May-2011 |
rmind |
- Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
| 1.40 |
19-May-2011 |
rmind |
- tmpfs: do not create dirent/node pools per-mount, there is no need to. - tmpfs_mount: fix a leak of mount structures in error path.
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base
|
| 1.39 |
13-Jan-2011 |
pooka |
branches: 1.39.2; Add some support for unionfs (not built by default). It's still missing at least opaque directory support, but until someone figures out how that should work on ffs (see PR kern/kern/44383), there's no point in trying to figure out how it should work here.
|
|
Revision tags: matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.38 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
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 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
| 1.37 |
29-Jul-2008 |
pooka |
branches: 1.37.14; 1.37.16; Solve the fstat-wants-to-look-at-kernel-data-structures in a nicer way: don't export the fs internals to innocent userspace programs which just want to mount the file system.
|
| 1.36 |
28-Jul-2008 |
pooka |
shuffle around some more defs for fstat
noticed by Kurt Schreiner on current-users
|
| 1.35 |
28-Jul-2008 |
pooka |
Install mount argument structure header just like every other file system.
|
|
Revision tags: wrstuden-revivesa-base-1 wrstuden-revivesa-base
|
| 1.34 |
19-Jun-2008 |
christos |
branches: 1.34.2; - setting the birthdate is valid in setattr. - don't call nanotime if not needed. - don't call tempfs_update() if tempfs_chtimes succeeded, because it just did.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.33 |
28-Apr-2008 |
martin |
branches: 1.33.2; 1.33.4; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.32 |
06-Feb-2008 |
jmmv |
branches: 1.32.6; 1.32.8; 1.32.10; u_int is not a C99 standard type, so spell it out completely as unsigned int.
|
| 1.31 |
06-Feb-2008 |
jmmv |
Drop trailing whitespace.
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.30 |
02-Jan-2008 |
ad |
Merge vmlocking2 to head.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
| 1.29 |
08-Dec-2007 |
pooka |
branches: 1.29.4; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base reinoud-bufcleanup-base
|
| 1.28 |
10-Nov-2007 |
ad |
branches: 1.28.2; Back out the tmpfs changes; there appears to be a bug lurking.
|
| 1.27 |
06-Nov-2007 |
ad |
Merge from vmlocking.
|
|
Revision tags: nick-csl-alignment-base5 jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base
|
| 1.26 |
22-Feb-2007 |
thorpej |
branches: 1.26.4; 1.26.16; 1.26.18; 1.26.24; TRUE -> true, FALSE -> false
|
| 1.25 |
21-Feb-2007 |
thorpej |
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
|
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 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.24 |
13-Nov-2006 |
jmmv |
branches: 1.24.4; Fix typo in comment.
|
| 1.23 |
05-Nov-2006 |
jmmv |
Protect the dircookie stuff with _KERNEL. Fixes build problems of mount_tmpfs as reported by Hisashi T Fujinaka in private mail.
|
| 1.22 |
05-Nov-2006 |
jmmv |
Truncate directory cookies to 31 bits to avoid problems exposed in Linux binaries which cast the returned values to 64-bits and fail due to sign expansion. More details are provided in the big comment in tmpfs.h that describes how the new tmpfs_dircookie works.
This is a rather ugly hack that shall be fixed with a cleaner solution, but this resolves the problem in an effective way.
Fixes kern PR/32034.
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
|
| 1.21 |
23-Jul-2006 |
ad |
branches: 1.21.4; 1.21.6; Use the LWP cached credentials where sane.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base simonb-timecounters-base
|
| 1.20 |
27-May-2006 |
yamt |
branches: 1.20.4; hide more by ifdef _KERNEL.
|
|
Revision tags: yamt-pdpolicy-base5
|
| 1.19 |
14-May-2006 |
elad |
branches: 1.19.2; integrate kauth.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 elad-kernelauth-base
|
| 1.18 |
31-Mar-2006 |
riz |
Swap the order of the tf_gen and tf_id members of struct tmpfs_fid, since tf_id needs 8-byte alignment on some architectures (like amd64). struct tmpfs_fid now fits in 16 bytes on amd64 again. OK matt@
|
| 1.17 |
26-Mar-2006 |
martin |
Restrict generation numbers to 32bit values - we would have had to bump _VFS_MAXFIDSZ to 24 otherwise for 64bit archs.
|
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.16 |
16-Feb-2006 |
perry |
branches: 1.16.2; 1.16.4; 1.16.6; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
| 1.15 |
16-Feb-2006 |
jmmv |
Do not use unnamed structures/unions without instances; they break the build under vax because of gcc 2.95. Found by he@.
|
| 1.14 |
10-Feb-2006 |
christos |
make the include files usable from userland.
|
| 1.13 |
24-Dec-2005 |
jmmv |
branches: 1.13.2; 1.13.4; 1.13.6; Remove a conditional by always using inlined functions in favour of macros. This way, the code is clearer and there shouldn't be any performance difference (if the compiler DTRT). Suggested by chs@.
|
| 1.12 |
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
|
Revision tags: ktrace-lwp-base
|
| 1.11 |
06-Dec-2005 |
yamt |
VFS_TO_TMPFS: remove a wrong assertion. it's wrong because TMPFS_PAGES_MAX can be decreased.
|
| 1.10 |
03-Dec-2005 |
christos |
- protect userland exported files against multiple inclusion. - make sure that kernel only files don't compile in userland using #error - XXX: some kernel only files still get installed. - XXX: some files used in userland, don't get installed.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.9 |
02-Nov-2005 |
yamt |
branches: 1.9.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.8 |
29-Sep-2005 |
jmmv |
branches: 1.8.2; Implement the tmpfs_advlock operation. Makes "user-level" file locking work (aka lockf(3)).
|
| 1.7 |
28-Sep-2005 |
yamt |
tmpfs_getattr: return up-to-date timestamps.
|
| 1.6 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.5 |
23-Sep-2005 |
jmmv |
Apply the NFS exports list rototill patch:
- Remove all NFS related stuff from file system specific code. - Drop the vfs_checkexp hook and generalize it in the new nfs_check_export function, thus removing redundancy from all file systems. - Move all NFS export-related stuff from kern/vfs_subr.c to the new file sys/nfs/nfs_export.c. The former was becoming large and its code is always compiled, regardless of the build options. Using the latter, the code is only compiled in when NFSSERVER is enabled. While doing this, also make some functions in nfs_subs.c conditional to NFSSERVER. - Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a path and a set of export entries. At the moment it can only clear the exports list or append entries, one by one, but it is done in a way that allows setting the whole set of entries atomically in the future (see the comment in mountd_set_exports_list or in doc/TODO). - Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so that it becomes file system agnostic. In fact, all this whole thing was done to remove a 'XXX' block from this utility! - Change the mount*, newfs and fsck* userland utilities to not deal with NFS exports initialization; done internally by the kernel when initializing the NFS support for each file system. - Implement an interface for VFS (called VFS hooks) so that several kernel subsystems can run arbitrary code upon receipt of specific VFS events. At the moment, this only provides support for unmount and is used to destroy NFS exports lists from the file systems being unmounted, though it has room for extension.
Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments and advice in the development of this patch.
|
| 1.4 |
15-Sep-2005 |
yamt |
change the way to handle directory "offsets" so that they won't be changed when removing entries in the directory. some applications like cvs rely on this.
|
| 1.3 |
13-Sep-2005 |
yamt |
- don't waste/leak kva. - implement getpages/putpages. support mmap. - eliminate meaningless memcpy. - ubcify.
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base 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 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 simonb-wapbl-base simonb-wapbl-nbase
|
| 1.3 |
29-Jul-2008 |
pooka |
branches: 1.3.2; 1.3.4; 1.3.6; 1.3.18; Solve the fstat-wants-to-look-at-kernel-data-structures in a nicer way: don't export the fs internals to innocent userspace programs which just want to mount the file system.
|
| 1.2 |
28-Jul-2008 |
pooka |
shuffle around some more defs for fstat
noticed by Kurt Schreiner on current-users
|
| 1.1 |
28-Jul-2008 |
pooka |
branches: 1.1.2; Install mount argument structure header just like every other file system.
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.15 |
19-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
Part 2; cvs randomly didn't commit these changes before, and then hid them from me until I touched the files to force it to rethink. Dunno what happened.
There's probably more of these, going to have to scan the tree the hard way.
|
| 1.14 |
18-Jul-2021 |
dholland |
Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (conservatively) the same in every fs. Use these in every fs that supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with open-coded dispatch to the specfs code, which I haven't changed in this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic dispatch that already does more or less the same thing, which I also haven't changed.
Also note that this anticipates a few bits in the next changeset here and there, and adds missing but unreachable calls in some cases (e.g. most fses weren't defining whiteout on devices and fifos, but it isn't reachable there), and it changes parsepath on devices and fifos to genfs_badop from genfs_parsepath (but it's not reachable there either).
It appears that devices in kernfs were missing kqfilter, so it's possible that if you try to use kqueue on /kern/rootdev that it'll explode.
And finally note that the ops declaration tables aren't order-dependent. (Other than vop_default_desc has to come first.) Otherwise this wouldn't work.
|
| 1.13 |
29-Jun-2021 |
dholland |
- Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always.
Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.12 |
16-May-2020 |
christos |
branches: 1.12.6; Add ACL support for FFS. From FreeBSD.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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 tls-earlyentropy-base tls-maxphys-base
|
| 1.11 |
25-Jul-2014 |
dholland |
Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can find.
The filesystem ones all call genfs_eopnotsupp - right now I am only implementing the plumbing and we can implement fallocate and/or fdiscard for files later.
The device ones call spec_fallocate (which is also genfs_eopnotsupp) and spec_fdiscard, which dispatches to the device-level op.
The fifo ones all call vn_fifo_bypass, which also ends up being EOPNOTSUPP.
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.10 |
23-Nov-2013 |
rmind |
branches: 1.10.2; - Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
|
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-base2 riastradh-drm2-base1 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.9 |
24-May-2011 |
rmind |
branches: 1.9.4; 1.9.14; 1.9.18; - Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
|
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 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base mjf-devfs2-base
|
| 1.8 |
19-Jun-2008 |
skd |
branches: 1.8.18; 1.8.24; add arg so it will compile.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.7 |
28-Apr-2008 |
martin |
branches: 1.7.2; 1.7.4; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.6 |
25-Jan-2008 |
ad |
branches: 1.6.6; 1.6.8; 1.6.10; Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.5 |
11-Dec-2005 |
christos |
branches: 1.5.18; 1.5.48; 1.5.54; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
| 1.4 |
02-Nov-2005 |
yamt |
branches: 1.4.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.3 |
23-Sep-2005 |
jmmv |
branches: 1.3.2; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.9 |
18-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 tls-maxphys-base 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.8 |
24-May-2011 |
rmind |
branches: 1.8.72; - Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
|
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.7 |
29-Mar-2010 |
pooka |
branches: 1.7.2; Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
|
|
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 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.6 |
28-Apr-2008 |
martin |
branches: 1.6.20; 1.6.22; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.5 |
25-Jan-2008 |
ad |
branches: 1.5.6; 1.5.8; 1.5.10; Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base ktrace-lwp-base
|
| 1.4 |
03-Dec-2005 |
christos |
branches: 1.4.18; 1.4.48; 1.4.54; - protect userland exported files against multiple inclusion. - make sure that kernel only files don't compile in userland using #error - XXX: some kernel only files still get installed. - XXX: some files used in userland, don't get installed.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.3 |
02-Nov-2005 |
yamt |
branches: 1.3.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.2 |
23-Sep-2005 |
jmmv |
branches: 1.2.2; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.14 |
29-Apr-2023 |
riastradh |
tmpfs: Nix trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base 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.13 |
11-Jun-2020 |
ad |
uvm_availmem(): give it a boolean argument to specify whether a recent cached value will do, or if the very latest total must be fetched. It can be called thousands of times a second and fetching the totals impacts not only the calling LWP but other CPUs doing unrelated activity in the VM system.
|
|
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 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.12 |
31-Dec-2019 |
ad |
Rename uvm_free() -> uvm_availmem().
|
| 1.11 |
21-Dec-2019 |
ad |
uvmexp.free -> uvm_free()
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
| 1.10 |
13-Jul-2019 |
maxv |
Remove the roundups, they are incorrect and cause memcmp to wrongfully fail because of uninitialized bytes at the end of the buffers.
ok rmind@
|
|
Revision tags: phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
| 1.9 |
22-Aug-2016 |
skrll |
branches: 1.9.8; 1.9.16; Two fixes from rmind
- tmpfs_node_get: restore (decrement) the node count on the error path. - tmpfs_bytes_max: save the value of uvmexp.freetarg (since it is unlocked/racy).
|
|
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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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 tls-earlyentropy-base tls-maxphys-base
|
| 1.8 |
13-Jun-2014 |
pooka |
branches: 1.8.4; use psize_t for physical memory calculation
|
| 1.7 |
10-Jun-2014 |
martin |
Make sure to expand "freepages" to 64bit before shifting to byte values - on rump we may have all our virtual address space "free". Pointed out by pooka@.
|
| 1.6 |
07-Jun-2014 |
martin |
Remove the hardcoded 4 MB free kernel memory limit and replace it by uvmexp.freetarg, as discussed on tech-kern. Main purpose is to make tmpfs usable (as far as possible) on small memory machines. This is a bit experimental, but we need to give it some real world exposure to see how well it works.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.5 |
30-Apr-2014 |
christos |
handle MNT_UPDATE
|
|
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 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 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-base2 riastradh-drm2-base1 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.4 |
24-May-2011 |
rmind |
branches: 1.4.4; 1.4.14; 1.4.18; 1.4.28; - tmpfs_alloc_node/tmpfs_free_node: move inode limiting into tmpfs_node_get() and tmpfs_node_put(), update outdated/wrong comments and move/add asserts. - tmpfs_mount: check for the version of arguments a bit earlier.
|
| 1.3 |
19-May-2011 |
rmind |
- tmpfs: do not create dirent/node pools per-mount, there is no need to. - tmpfs_mount: fix a leak of mount structures in error path.
|
|
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
|
| 1.2 |
28-Jun-2010 |
rmind |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; tmpfs_bytes_max: use MIN() rather than min(), which returns int. Spotted by Wolfgang Solfrank.
|
| 1.1 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base 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 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 perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
| 1.15 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
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 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.14 |
28-Apr-2008 |
martin |
branches: 1.14.20; 1.14.22; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.13 |
06-Feb-2008 |
jmmv |
branches: 1.13.6; 1.13.8; 1.13.10; u_int is not a C99 standard type, so spell it out completely as unsigned int.
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.12 |
02-Jan-2008 |
ad |
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.11 |
22-Nov-2007 |
pooka |
branches: 1.11.2; 1.11.6; Don't KASSERT that the pool allocator returns a page - it might be called with NOWAIT.
XXX: this is just a quick fix to stop the diagnostic panic. I think ENOSPC should be treated elsewhere depending on how much memory tmpfs claims.
|
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
| 1.10 |
10-Nov-2007 |
ad |
Back out the tmpfs changes; there appears to be a bug lurking.
|
| 1.9 |
06-Nov-2007 |
ad |
Merge from vmlocking.
|
|
Revision tags: jmcneill-base
|
| 1.8 |
23-Oct-2007 |
dyoung |
branches: 1.8.2; Put _tmpfs_ in the name of the pools instead of _pool_. Obviously they're pools; it's not so obvious that they come from tmpfs. :-)
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base vmlocking-base
|
| 1.7 |
12-Mar-2007 |
ad |
branches: 1.7.12; 1.7.14; 1.7.18; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
|
Revision tags: netbsd-4-0-1-RELEASE 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 ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.6 |
09-Nov-2006 |
jmmv |
branches: 1.6.2; 1.6.4; 1.6.8; 1.6.10; Add 2006 to the copyright notice; should have done this when touching the files before.
|
|
Revision tags: yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 rpaulo-netinet-merge-pcb-base
|
| 1.5 |
03-Sep-2006 |
christos |
branches: 1.5.2; 1.5.4; use c99 initializers
|
|
Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
|
| 1.4 |
11-Dec-2005 |
christos |
branches: 1.4.4; 1.4.8; 1.4.18; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.3 |
23-Sep-2005 |
jmmv |
branches: 1.3.6; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.2 |
12-Sep-2005 |
yamt |
- don't keep a reference to a variable on stack. - remove a meaningless assumption about the order of structure members.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base 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 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 perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
| 1.8 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
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 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.7 |
28-Apr-2008 |
martin |
branches: 1.7.20; 1.7.22; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 yamt-pf42-baseX 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-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.6 |
09-Nov-2006 |
jmmv |
branches: 1.6.48; 1.6.50; 1.6.52; Add 2006 to the copyright notice; should have done this when touching the files before.
|
|
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 yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.5 |
10-Feb-2006 |
christos |
branches: 1.5.12; 1.5.16; 1.5.18; make the include files usable from userland.
|
|
Revision tags: ktrace-lwp-base
|
| 1.4 |
03-Dec-2005 |
christos |
branches: 1.4.2; 1.4.4; 1.4.6; - protect userland exported files against multiple inclusion. - make sure that kernel only files don't compile in userland using #error - XXX: some kernel only files still get installed. - XXX: some files used in userland, don't get installed.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.3 |
23-Sep-2005 |
jmmv |
branches: 1.3.6; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.2 |
12-Sep-2005 |
yamt |
- don't keep a reference to a variable on stack. - remove a meaningless assumption about the order of structure members.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.12 |
20-Oct-2021 |
thorpej |
Move a mis-placed KASSERT().
|
| 1.11 |
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.
|
|
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 bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.10 |
03-Dec-2019 |
riastradh |
Omit obsolete comment and needless __diagused marker.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
| 1.9 |
14-Jul-2019 |
maxv |
Fix uninitialized variable: if 'tvp' is NULL, '*tdep' is not initialized. This could have caused the KASSERT to wrongfully fire.
ok riastradh@
|
|
Revision tags: phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 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 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.8 |
06-Jul-2015 |
wiz |
branches: 1.8.10; 1.8.18; Fix typo in comment.
|
| 1.7 |
06-Jul-2015 |
hannken |
Change tmpfs to vcache. - Use tmpfs node address as key. - Remove tn_vlock, field tn_vnode now protected by vcache. - Add a hold count to tmpfs node to prevent nodes from disappearing while tmpfs_fhtovp() trys to vcache_get() them. Last holder destroys reclaimed nodes. - Remove the now unneeded parent unlock/lock for lookup of '..'.
|
|
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 netbsd-7-0-RELEASE 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.6 |
23-Nov-2013 |
rmind |
branches: 1.6.6; - Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
| 1.5 |
08-Nov-2013 |
rmind |
tmpfs: replace the broken tmpfs_dircookie() logic which uses the node address truncated to 31 bits (required for 32-bit readdir compatibility, e.g. linux32). Instead, assign 2^31 range using the following logic: - The first half of the 2^31 is assigned incrementally (the fast path). - When exceeded, use the second half of 2^31, but manage with vmem(9).
It will require 2 billion files per-directory to trigger vmem(9) usage. Also, while here, add some fixes for tmpfs_unmount().
Should fix PR/47739, PR/47480, PR/46088 and PR/41068. Thanks to wiz@ for stress testing.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.4 |
27-Sep-2012 |
riastradh |
branches: 1.4.2; Uncomment call to genfs_rename_cache_purge.
Fixes a side issue mentioned in PR kern/46990.
I left this commented to preserve the old behaviour of tmpfs_rename, but it is obviously broken to omit the cache purge, and I'm surprised nobody had encountered any problems with it until now.
|
| 1.3 |
25-Sep-2012 |
riastradh |
Check tmpfs_rmdired_p after tmpfs_vnode_get when walking up the tree.
tmpfs_vnode_get drops all locks except possibly the reclaiming bit lock to keep the tmpfs node from being reclaimed while we're still interested in it. Consequently, it does not keep the directory's existence invariant, so we must check that after tmpfs_vnode_get.
Fixes PR kern/46990. Tested by Wolfgang Stukenbrock.
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
| 1.2 |
09-May-2012 |
riastradh |
branches: 1.2.2; 1.2.4; 1.2.6; Fix omitted VN_KNOTE(fvp, NOTE_RENAME) in tmpfs_rename.
Missed that line while refactoring tmpfs_rename to use genfs_rename.
|
| 1.1 |
09-May-2012 |
riastradh |
Adapt tmpfs_rename to use genfs_rename.
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.16 |
19-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
Part 2; cvs randomly didn't commit these changes before, and then hid them from me until I touched the files to force it to rethink. Dunno what happened.
There's probably more of these, going to have to scan the tree the hard way.
|
| 1.15 |
18-Jul-2021 |
dholland |
Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (conservatively) the same in every fs. Use these in every fs that supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with open-coded dispatch to the specfs code, which I haven't changed in this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic dispatch that already does more or less the same thing, which I also haven't changed.
Also note that this anticipates a few bits in the next changeset here and there, and adds missing but unreachable calls in some cases (e.g. most fses weren't defining whiteout on devices and fifos, but it isn't reachable there), and it changes parsepath on devices and fifos to genfs_badop from genfs_parsepath (but it's not reachable there either).
It appears that devices in kernfs were missing kqfilter, so it's possible that if you try to use kqueue on /kern/rootdev that it'll explode.
And finally note that the ops declaration tables aren't order-dependent. (Other than vop_default_desc has to come first.) Otherwise this wouldn't work.
|
| 1.14 |
29-Jun-2021 |
dholland |
- Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always.
Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.13 |
16-May-2020 |
christos |
branches: 1.13.6; Add ACL support for FFS. From FreeBSD.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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 tls-earlyentropy-base tls-maxphys-base
|
| 1.12 |
25-Jul-2014 |
dholland |
Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can find.
The filesystem ones all call genfs_eopnotsupp - right now I am only implementing the plumbing and we can implement fallocate and/or fdiscard for files later.
The device ones call spec_fallocate (which is also genfs_eopnotsupp) and spec_fdiscard, which dispatches to the device-level op.
The fifo ones all call vn_fifo_bypass, which also ends up being EOPNOTSUPP.
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.11 |
23-Nov-2013 |
rmind |
branches: 1.11.2; - Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
|
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-base2 riastradh-drm2-base1 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.10 |
24-May-2011 |
rmind |
branches: 1.10.4; 1.10.14; 1.10.18; - Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
|
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 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base mjf-devfs2-base
|
| 1.9 |
20-Jun-2008 |
skd |
branches: 1.9.18; 1.9.24; add NULL arg so it will compile.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.8 |
28-Apr-2008 |
martin |
branches: 1.8.2; 1.8.4; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.7 |
25-Jan-2008 |
ad |
branches: 1.7.6; 1.7.8; 1.7.10; Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.6 |
11-Dec-2005 |
christos |
branches: 1.6.18; 1.6.48; 1.6.54; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
| 1.5 |
02-Nov-2005 |
yamt |
branches: 1.5.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3
|
| 1.4 |
02-Nov-2005 |
dyoung |
Bug fix: correct the sense of an if-condition in tmpfs_spec_close: because VOP_UPDATE() usually succeeded, spec_close() was not usually called. Only skip the spec_close() step if VOP_UPDATE() returns an error result. Now /dev/watchdog works as expected when /dev/ is a tmpfs; previously, it was impossible to disarm a user-tickled watchdog.
|
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.3 |
23-Sep-2005 |
jmmv |
branches: 1.3.2; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.9 |
18-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 tls-maxphys-base 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.8 |
24-May-2011 |
rmind |
branches: 1.8.72; - Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
|
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 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.7 |
28-Apr-2008 |
martin |
branches: 1.7.22; 1.7.28; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.6 |
25-Jan-2008 |
ad |
branches: 1.6.6; 1.6.8; 1.6.10; Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base ktrace-lwp-base
|
| 1.5 |
03-Dec-2005 |
christos |
branches: 1.5.18; 1.5.48; 1.5.54; - protect userland exported files against multiple inclusion. - make sure that kernel only files don't compile in userland using #error - XXX: some kernel only files still get installed. - XXX: some files used in userland, don't get installed.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.4 |
02-Nov-2005 |
yamt |
branches: 1.4.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3
|
| 1.3 |
02-Nov-2005 |
dyoung |
Bug fix: change tmpfs_spec_bwrite from tmpfs_bwrite to vn_bwrite, per yamt's suggestion. Previously, if /dev/ was mounted on a tmpfs, block device buffers were never flushed to disk. Trying to unmount a dirty filesystem (umount /dev/wd0e, say) caused an endless stream of vflushbuf warnings, because tmpfs_bwrite was not flushing buffers. The fix told to me by yamt solves the problem.
|
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.2 |
23-Sep-2005 |
jmmv |
branches: 1.2.2; Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.117 |
29-Apr-2023 |
riastradh |
tmpfs: Assert no arithmetic overflow in directory node tn_size.
Need >2^57 directory entries before this is a problem. If we created a million per second, this would take over 4000 years.
|
| 1.116 |
29-Apr-2023 |
riastradh |
tmpfs: Refuse sizes that overflow round_page.
Reported-by: syzbot+8dbeee84de15f86df65b@syzkaller.appspotmail.com https://syzkaller.appspot.com/bug?id=4a27b9fe074f8d4b0afbe22969339b8dfdb157e8
|
| 1.115 |
29-Apr-2023 |
riastradh |
tmpfs: Nix trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
| 1.114 |
20-Oct-2021 |
thorpej |
branches: 1.114.4; 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.
|
|
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.113 |
05-Sep-2020 |
riastradh |
Round of uvm.h cleanup.
The poorly named uvm.h is generally supposed to be for uvm-internal users only.
- Narrow it to files that actually need it -- mostly files that need to query whether curlwp is the pagedaemon, which should maybe be exposed by an external header.
- Use uvm_extern.h where feasible and uvm_*.h for things not exposed by it. We should split up uvm_extern.h but this will serve for now to reduce the uvm.h dependencies.
- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use UVMHIST(ubchist), since ubchist is declared in uvm.h but the reference evaporates if UVMHIST is not defined, so we reduce header file dependencies.
- Make uvm_device.h and uvm_swap.h independently includable while here.
ok chs@
|
| 1.112 |
17-May-2020 |
ad |
PR kern/55268: tmpfs is slow
tmpfs_getpages(): handle the PGO_LOCKED case and implement lazy update of atime/mtime.
|
| 1.111 |
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
| 1.110 |
12-May-2020 |
ad |
cache_enter_id(): give it a boolean parameter to indicate whether the cached identity is valid.
|
|
Revision tags: bouyer-xenpvh-base2
|
| 1.109 |
23-Apr-2020 |
ad |
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed somewhere. Use it to decide whether to do direct-mapped copy, rather than poking around directly in the vnode in ubc_uiomove(), which is ugly and doesn't work for tmpfs. It would be nicer to contain all this in UVM but the filesystem provides the needed locking here (VV_MAPPED) and to reinvent that would suck more.
- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS(). Pass in UBC_ISMAPPED where appropriate.
|
|
Revision tags: phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.108 |
04-Apr-2020 |
ad |
branches: 1.108.2; Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
| 1.107 |
14-Mar-2020 |
ad |
tmpfs_reg_resize(): do nothing if newsize == oldsize.
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.106 |
23-Feb-2020 |
ad |
UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.105 |
18-Sep-2019 |
christos |
branches: 1.105.2; Add newly created vnodes to the namei cache. The rest of the filesystems already did that (or they don't support writing). Discussed in tech-kern.
|
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
|
| 1.104 |
01-Jan-2019 |
hannken |
branches: 1.104.4; Add "void *extra" argument to vcache_new() so a file system may pass more information about the file to create.
Welcome to 8.99.30
|
|
Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.103 |
28-May-2018 |
chs |
branches: 1.103.2; allow tmpfs files to be larger than 4GB.
|
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.102 |
04-Jan-2017 |
hannken |
branches: 1.102.8; 1.102.14; Change tmpfs_chsize() to update mtime etc. even if "length == node->tn_size".
Adresses PR kern/51762 "mtime not updated by open(O_TRUNC)"
|
|
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 nick-nhusb-base-20151226
|
| 1.101 |
29-Oct-2015 |
leot |
branches: 1.101.2; Make sure that nde->td_node is NULL for asserts. Thanks and from Mindaugas Rasiukevicius.
Fixes PR kern/50381.
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.100 |
07-Jul-2015 |
justin |
This enum is likely to be made unsigned by the compiler, so the assertion will not work and clang objects with -Wtautological-constant-out-of-range-compare
|
| 1.99 |
06-Jul-2015 |
hannken |
Change tmpfs to vcache. - Use tmpfs node address as key. - Remove tn_vlock, field tn_vnode now protected by vcache. - Add a hold count to tmpfs node to prevent nodes from disappearing while tmpfs_fhtovp() trys to vcache_get() them. Last holder destroys reclaimed nodes. - Remove the now unneeded parent unlock/lock for lookup of '..'.
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.98 |
20-Apr-2015 |
riastradh |
Make vget always return vnode unlocked.
Convert callers who want locks to use vn_lock afterward.
Add extra argument so the compiler will report stragglers.
|
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.97 |
08-Sep-2014 |
gson |
branches: 1.97.2; Store symlinks without a NUL terminator so that lstat(2) returns the correct length. Fixes the tmpfs part of PR kern/48864.
|
|
Revision tags: 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.96 |
23-Jan-2014 |
hannken |
branches: 1.96.4; Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
| 1.95 |
17-Jan-2014 |
hannken |
Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
| 1.94 |
08-Jan-2014 |
pedro |
Allocate direntp on the stack in tmpfs_dir_getdents(), thus saving calls to kmem_zalloc() and kmem_free(); OK rmind@. From OpenBSD.
|
| 1.93 |
03-Jan-2014 |
hannken |
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2 runs VFS_FHTOVP() and gets a new vnode attached to the node thread1 is about to destroy.
Change tmpfs_alloc_node() to always assign non-zero generation number and tmpfs_inactive() to set the generation number of unlinked nodes to zero.
|
| 1.92 |
24-Nov-2013 |
rmind |
- tmpfs_construct_node: prevent from the new node construction if the directory was removed. Fixes the crash reported by Nicolas Joly. - tmpfs_reclaim: avoid race by checking tn_links with the vnode locked.
|
| 1.91 |
23-Nov-2013 |
rmind |
tmpfs_reg_resize: use size_t.
|
| 1.90 |
23-Nov-2013 |
rmind |
- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
| 1.89 |
21-Nov-2013 |
rmind |
tmpfs_dir_getdotents: fix the recent regression, set the correct d_fileno value for dot-dot. Spotted by Pedro Martelletto, thanks!
|
| 1.88 |
18-Nov-2013 |
rmind |
Make tmpfs_node_t::tn_gen a 32-bit number, keep it in sync with tmpfs_fid_t. Also, change tn_status to unsigned while here.
|
| 1.87 |
16-Nov-2013 |
rmind |
tmpfs_dir_getdents: avoid leaking kernel memory to the userspace. From Pedro Martelletto.
XXX: regress/sys/fs/getdents should be a part of the test suite
|
| 1.86 |
11-Nov-2013 |
rmind |
tmpfs_alloc_node: use cprng_fast64(), the old random(9) shall be removed.
|
| 1.85 |
10-Nov-2013 |
rmind |
Handle whiteout case in tmpfs_dir_detach() and tmpfs_unmount().
|
| 1.84 |
10-Nov-2013 |
christos |
mark variable __diagused
|
| 1.83 |
08-Nov-2013 |
rmind |
tmpfs: replace the broken tmpfs_dircookie() logic which uses the node address truncated to 31 bits (required for 32-bit readdir compatibility, e.g. linux32). Instead, assign 2^31 range using the following logic: - The first half of the 2^31 is assigned incrementally (the fast path). - When exceeded, use the second half of 2^31, but manage with vmem(9).
It will require 2 billion files per-directory to trigger vmem(9) usage. Also, while here, add some fixes for tmpfs_unmount().
Should fix PR/47739, PR/47480, PR/46088 and PR/41068. Thanks to wiz@ for stress testing.
|
| 1.82 |
01-Nov-2013 |
rmind |
tmpfs: fix the zero-length symlink target case as NetBSD supports them.
|
| 1.81 |
31-Oct-2013 |
rmind |
tmpfs_alloc_node: it is less error-prone to store the link path with the NIL terminator included. Adjust tmpfs_readlink() to exclude NIL. Also, remove the check for zero-length and add some asserts.
|
| 1.80 |
04-Oct-2013 |
rmind |
- tmpfs_remove: check 'appendable' flag for the parent directory as well. Patch from Pedro Martelletto. - tmpfs_dir_detach: remove missleading check. - tmpfs_link: remove unused variable.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
| 1.79 |
13-Mar-2012 |
elad |
branches: 1.79.2; 1.79.4; Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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
|
| 1.78 |
19-Nov-2011 |
tls |
branches: 1.78.2; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
|
Revision tags: jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.77 |
27-Aug-2011 |
hannken |
branches: 1.77.2; Finish and enable whiteout support for tmpfs:
- Enable VOP tmpfs_whiteout(). - Support ISWHITEOUT in tmpfs_alloc_file(). - Support DOWHITEOUT in tmpfs_remove() and tmpfs_rmdir(). - Make rmdir on a directory containing whiteouts working.
Should fix PR #35112 (tmpfs doesn't play well with unionfs).
|
| 1.76 |
30-Jun-2011 |
enami |
Backout previous. May be I need more coffee.
|
| 1.75 |
30-Jun-2011 |
enami |
- Use << PAGE_SHIFT rather than calling round_page again. - No need to call uao_dropswap_range() here since uao_dropswap() is already called for each pages by uvm_vnp_setsize().
|
| 1.74 |
16-Jun-2011 |
hannken |
Rename uvm_vnp_zerorange(struct vnode *, off_t, size_t) to ubc_zerorange(struct uvm_object *, off_t, size_t, int) changing the first argument to an uvm_object and adding a flags argument.
Modify tmpfs_reg_resize() to zero the backing store (aobj) instead of the vnode. Ubc_purge() no longer panics when unmounting tmpfs.
Keep uvm_vnp_zerorange() until the next kernel version bump.
|
| 1.73 |
12-Jun-2011 |
rmind |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.72 |
29-May-2011 |
rmind |
branches: 1.72.2; Fix non-DEBUG build.
|
| 1.71 |
29-May-2011 |
rmind |
- Rework and document inode reference counting. Also document inode life cycle (destruction part). Perform link counting in tmpfs_dir_attach() and tmpfs_dir_detach(), instead of alloc/free and arbitrary places. Fixes PR/44285, PR/44288, PR/44657 and likely PR/42484.
- Fix the race between the lookup and inode destruction. Fixes PR/43167 and its duplicates PR/40088, PR/40757.
- Improve tmpfs_rename() locking a little, fix kqueue event notifications and also fix PR/43617. Add simplistic tmpfs_parentcheck_p(); to be expanded and used for further rename() locking fixes.
- Cache directory entry "hint" in the tmpfs node, add tmpfs_dir_cached(), and thus avoid unnecessary lookup in tmpfs_remove() and tmpfs_rmdir().
- Set correct _PC_FILESIZEBITS value in tmpfs_pathconf(). Fixes PR/43576.
- Few minor fixes.
|
| 1.70 |
25-May-2011 |
rmind |
tmpfs_update: comment out assert for now.
|
| 1.69 |
25-May-2011 |
rmind |
tmpfs_dir_lookup: use 'name' variable in memcmp() as intended; fix warning.
|
| 1.68 |
24-May-2011 |
rmind |
- tmpfs_lookup: cache (cnp->cn_flags & ISLASTCN) in const bool; de-indent. - Group tmpfs_{alloc,free}_dirent() with other dirent routines.
No functional changes.
|
| 1.67 |
24-May-2011 |
rmind |
- Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
| 1.66 |
24-May-2011 |
rmind |
tmpfs_free_node: comment out assert, which can fire e.g. on shutdown.
|
| 1.65 |
24-May-2011 |
rmind |
- tmpfs_alloc_node/tmpfs_free_node: move inode limiting into tmpfs_node_get() and tmpfs_node_put(), update outdated/wrong comments and move/add asserts. - tmpfs_mount: check for the version of arguments a bit earlier.
|
| 1.64 |
22-May-2011 |
rmind |
tmpfs_alloc_vp: - Do not check for vn_lock(9) error, if LK_RETRY. - Fix/improve comments.
|
| 1.63 |
01-Apr-2011 |
hannken |
Make zero length symlinks work on tmpfs.
Fixes PR #43843 (tmpfs dies with kassert panic for 0 length symlink target)
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base
|
| 1.62 |
13-Jan-2011 |
pooka |
branches: 1.62.2; Add some support for unionfs (not built by default). It's still missing at least opaque directory support, but until someone figures out how that should work on ffs (see PR kern/kern/44383), there's no point in trying to figure out how it should work here.
|
|
Revision tags: matt-mips64-premerge-20101231
|
| 1.61 |
30-Nov-2010 |
dholland |
Abolish the SAVENAME and HASBUF flags. There is now always a buffer, so the path in a struct componentname is now always valid during VOP calls.
|
| 1.60 |
30-Nov-2010 |
dholland |
Abolish struct componentname's cn_pnbuf. Use the path buffer in the pathbuf object passed to namei as work space instead. (For now a pnbuf pointer appears in struct nameidata, to support certain unclean things that haven't been fixed yet, but it will be going away in the future.)
This removes the need for the SAVENAME and HASBUF namei flags.
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.59 |
21-Jul-2010 |
hannken |
Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
|
| 1.58 |
02-Jul-2010 |
rmind |
tmpfs_lookup: add comment, de-ident main path. No functional change. tmpfs_dir_attach: add assert.
|
| 1.57 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
| 1.56 |
11-Nov-2009 |
rmind |
branches: 1.56.2; 1.56.4; Simplify tmpfs_itimes() and use vfs_timestamp(). Also, replace unnecessary kmem_zalloc()s with kmem_alloc()s.
|
|
Revision tags: yamt-nfs-mp-base8 jym-xensuspend-nbase
|
| 1.55 |
03-Sep-2009 |
pooka |
"kauth_action_t = KAUTH_VNODE_WRITE_FLAGS;" must be C**. However, we still use plain ISO C, so additionally supply the variable name. Compile-tested only, but at least that's some testing.
|
| 1.54 |
03-Sep-2009 |
elad |
Implement the vnode scope and adapt tmpfs to use it.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/07/04/msg005404.html
|
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-base
|
| 1.53 |
07-May-2009 |
elad |
Extract the open-coded authorization logic for chtimes() from various file-systems and put it in a single function, genfs_can_chtimes().
This also makes UDF follow the same policy as all other file-systems.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/04/27/msg004951.html
|
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.52 |
22-Apr-2009 |
elad |
Per discussion on tech-kern@:
- Replace use of label/goto with returns
- Rename, change prototype of, and move functions from vfs_subr.c to genfs_vnops.c
|
| 1.51 |
20-Apr-2009 |
elad |
Refactor some duplicated file-system code.
Proposed and received no objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/04/18/msg004843.html
|
| 1.50 |
11-Apr-2009 |
markd |
For chown make auth checks consistent with UFS. Fixes PR kern/40933.
|
| 1.49 |
10-Apr-2009 |
yamt |
- tmpfs_dir_lookup: simplify. - add some assertions.
|
|
Revision tags: netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base mjf-devfs2-base
|
| 1.48 |
19-Jun-2008 |
christos |
branches: 1.48.4; 1.48.6; 1.48.10; - setting the birthdate is valid in setattr. - don't call nanotime if not needed. - don't call tempfs_update() if tempfs_chtimes succeeded, because it just did.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.47 |
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.46 |
06-Feb-2008 |
jmmv |
branches: 1.46.6; 1.46.8; 1.46.10; u_int is not a C99 standard type, so spell it out completely as unsigned int.
|
| 1.45 |
06-Feb-2008 |
jmmv |
Drop trailing whitespace.
|
| 1.44 |
24-Jan-2008 |
ad |
specfs changes for PR kern/37717 (raidclose() is no longer called on shutdown). There are still problems with device access and a PR will be filed.
- Kill checkalias(). Allow multiple vnodes to reference a single device.
- Don't play dangerous tricks with block vnodes to ensure that only one vnode can describe a block device. Instead, prohibit concurrent opens of block devices. As a bonus remove the unreliable code that prevents multiple file system mounts on the same device. It's no longer needed.
- Track opens by vnode and by device. Issue cdev_close() when the last open goes away, instead of abusing vnode::v_usecount to tell if the device is open.
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.43 |
02-Jan-2008 |
ad |
Merge vmlocking2 to head.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
| 1.42 |
08-Dec-2007 |
pooka |
branches: 1.42.4; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
| 1.41 |
26-Nov-2007 |
pooka |
branches: 1.41.2; 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.40 |
10-Nov-2007 |
ad |
Back out the tmpfs changes; there appears to be a bug lurking.
|
| 1.39 |
06-Nov-2007 |
ad |
Merge from vmlocking.
|
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.38 |
10-Oct-2007 |
ad |
branches: 1.38.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: yamt-x86pmap-base2
|
| 1.37 |
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
| 1.36 |
06-Aug-2007 |
pooka |
branches: 1.36.2; 1.36.4; 1.36.6; When resizing a node, first drop extra pages and zero tail, and only then set the new size. Otherwise zerolen will always be, well, 0.
|
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.35 |
09-Jul-2007 |
ad |
branches: 1.35.2; 1.35.6; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base
|
| 1.34 |
22-Feb-2007 |
thorpej |
branches: 1.34.4; 1.34.6; TRUE -> true, FALSE -> false
|
| 1.33 |
21-Feb-2007 |
thorpej |
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.32 |
04-Jan-2007 |
elad |
branches: 1.32.2; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
| 1.31 |
02-Jan-2007 |
elad |
Add KAUTH_SYSTEM_CHSYSFLAGS so we can get rid of the last three securelevel references (ufs, ext2fs, tmpfs).
Intentionally undocumented.
|
|
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 wrstuden-fixsa-base yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 netbsd-4-base
|
| 1.30 |
16-Nov-2006 |
christos |
__unused removal on arguments; approved by core.
|
| 1.29 |
09-Nov-2006 |
jmmv |
Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests.
|
| 1.28 |
05-Nov-2006 |
jmmv |
Randomly initialize the node's generation to make file handles less predictable. This solves a problem that may appear when serving a tmpfs over NFS: if the server reboots, newly allocated files should have different file handles; otherwise the remote clients could access files they were not supposed to touch.
|
| 1.27 |
05-Nov-2006 |
jmmv |
Truncate directory cookies to 31 bits to avoid problems exposed in Linux binaries which cast the returned values to 64-bits and fail due to sign expansion. More details are provided in the big comment in tmpfs.h that describes how the new tmpfs_dircookie works.
This is a rather ugly hack that shall be fixed with a cleaner solution, but this resolves the problem in an effective way.
Fixes kern PR/32034.
|
| 1.26 |
30-Oct-2006 |
jmmv |
Grr... cvs diff scrolled too much and I didn't notice there were some unwanted changes in this file. Revert them; sorry.
|
| 1.25 |
30-Oct-2006 |
jmmv |
When renaming a file, we have to modify the mtime of the directory holding it, not the mtime of the file itself. This fixes the problems exposed when unpacking software under a tmpfs and trying to build it because dependencies were not calculated properly (e.g. autoconf 2.60 as reported by tls@).
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.24 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 rpaulo-netinet-merge-pcb-base
|
| 1.23 |
03-Sep-2006 |
christos |
branches: 1.23.2; 1.23.4; comment out empty code
|
|
Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7
|
| 1.22 |
23-Jul-2006 |
ad |
Use the LWP cached credentials where sane.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
|
| 1.21 |
07-Jun-2006 |
kardel |
branches: 1.21.4; merge FreeBSD timecounters from branch simonb-timecounters - struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
|
|
Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
|
| 1.20 |
15-May-2006 |
christos |
branches: 1.20.2; kauth fallout
|
| 1.19 |
14-May-2006 |
elad |
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.18 |
16-Feb-2006 |
jmmv |
branches: 1.18.2; 1.18.4; 1.18.6; Do not use unnamed structures/unions without instances; they break the build under vax because of gcc 2.95. Found by he@.
|
| 1.17 |
11-Dec-2005 |
christos |
branches: 1.17.2; 1.17.4; 1.17.6; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 ktrace-lwp-base
|
| 1.16 |
28-Nov-2005 |
dan |
take into account memory used for file cache pages, and wired pages, when calculating potential free space
|
| 1.15 |
28-Nov-2005 |
dan |
simplify calculation of free swap space using uvm-exported statistics, with thanks to yamt@ for useful hints.
|
|
Revision tags: yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.14 |
11-Nov-2005 |
yamt |
branches: 1.14.2; - ignore truncation for VCHR/VBLK/VFIFO as it used to be before yamt-vop merge. PR/32049 from Atsushi Onoe. - reject setattr which attempts to change size of VLNK/VSOCK.
|
| 1.13 |
08-Nov-2005 |
yamt |
branches: 1.13.2; tmpfs_reg_resize: drop swap slots on truncation. fix a problem pointed by jmmv@.
|
| 1.12 |
02-Nov-2005 |
yamt |
merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.11 |
30-Sep-2005 |
jmmv |
branches: 1.11.2; Explicitly initialize the tn_lockf field. I expect problems in some situations otherwise...
|
| 1.10 |
28-Sep-2005 |
yamt |
tmpfs_getattr: return up-to-date timestamps.
|
| 1.9 |
27-Sep-2005 |
jmmv |
Some style fixes in comments.
|
| 1.8 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.7 |
17-Sep-2005 |
yamt |
fix buffer overrun for symbolic links. PR/31325.
|
| 1.6 |
16-Sep-2005 |
yamt |
tmpfs_dir_getdotdotdent: correct fileid.
|
| 1.5 |
15-Sep-2005 |
yamt |
change the way to handle directory "offsets" so that they won't be changed when removing entries in the directory. some applications like cvs rely on this.
|
| 1.4 |
13-Sep-2005 |
yamt |
- don't waste/leak kva. - implement getpages/putpages. support mmap. - eliminate meaningless memcpy. - ubcify.
|
| 1.3 |
12-Sep-2005 |
christos |
convert to use it nanotime, but don't call it unless it is necessary.
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
|
| 1.78 |
10-Nov-2022 |
hannken |
Tmpfs_mount() uses tmpfs_unmount() for cleanup if set_statvfs_info() fails. This will not work as tmpfs_unmount() needs a suspended file system.
Just call set_statvfs_info() before allocating the root vnode and add and use a common error exit label.
Reported-by: syzbot+343f2bfea65a32ab4222@syzkaller.appspotmail.com
|
|
Revision tags: bouyer-sunxi-drm-base 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 bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.77 |
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
|
Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1
|
| 1.76 |
17-Jan-2020 |
ad |
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
|
Revision tags: ad-namecache-base phil-wifi-20191119
|
| 1.75 |
04-Oct-2019 |
mrg |
branches: 1.75.2; remove an always false check and its' "This can never happen?" comment.
|
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
|
| 1.74 |
01-Jan-2019 |
hannken |
branches: 1.74.4; Add "void *extra" argument to vcache_new() so a file system may pass more information about the file to create.
Welcome to 8.99.30
|
|
Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.73 |
09-Aug-2018 |
christos |
FIx performance regression from rmind@:
Just from a very quick look, it seems like a regression introduced with the vcache changes: the MP-safe flag is set too late and not inherited by the root vnode.
|
|
Revision tags: pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.72 |
01-Jun-2017 |
chs |
branches: 1.72.2; 1.72.8; 1.72.10; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
| 1.71 |
01-Mar-2017 |
hannken |
Change the protocol to update a mounted file system from read-write to read-only and vice versa:
- Add an internal flag IMNT_WANTRDONLY. - Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from or to read-only. - After successfull call to VFS_MOUNT() set or clear MNT_RDONLY.
Adapt tmpfs and rumpfs to the new protocol. Other file systems will be updated when they get the IMNT_CAN_RWTORO property.
Welcome to 7.99.64
|
| 1.70 |
17-Feb-2017 |
hannken |
Add generic genfs_suspendctl() and use it for all file systems. Layered file systems need work.
|
|
Revision tags: nick-nhusb-base-20170204
|
| 1.69 |
27-Jan-2017 |
hannken |
Run vflush() when going from read/write to read only.
|
|
Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
| 1.68 |
26-Aug-2016 |
dholland |
branches: 1.68.2; In the event that loading the root vnode fails, bail out of tmpfs_mount instead of crashing.
Came up in PR 51436, where kmem issues caused internal allocations to wrongly fail. However, that could happen for real sometime (e.g. probably if you tried to mount a new tmpfs when the system was very low on memory, or possibly for other reasons entirely) and crashing isn't the ticket.
(This is not a fix for PR 51436)
|
|
Revision tags: 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.67 |
12-Mar-2016 |
joerg |
branches: 1.67.2; Implement most of mount -ur functionality for tmpfs. Remaining issue is the question who is responsible for syncing pending writes, but the functionality is good enough for serving as read-only chroot base in bulk builds.
|
| 1.66 |
12-Mar-2016 |
joerg |
Only recheck size/node limits on update mounts, if there actually have been specified.
|
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.65 |
06-Jul-2015 |
hannken |
Change tmpfs to vcache. - Use tmpfs node address as key. - Remove tn_vlock, field tn_vnode now protected by vcache. - Add a hold count to tmpfs node to prevent nodes from disappearing while tmpfs_fhtovp() trys to vcache_get() them. Last holder destroys reclaimed nodes. - Remove the now unneeded parent unlock/lock for lookup of '..'.
|
| 1.64 |
06-Jul-2015 |
hannken |
Use VFS_PROTOS() for tmpfs.
|
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE 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 tls-earlyentropy-base tls-maxphys-base
|
| 1.63 |
10-Jun-2014 |
martin |
branches: 1.63.2; 1.63.4; Check for invalid mount arguments early and gracefully fail the mount. Spotted by pooka@
|
| 1.62 |
07-Jun-2014 |
martin |
Remove the hardcoded 4 MB free kernel memory limit and replace it by uvmexp.freetarg, as discussed on tech-kern. Main purpose is to make tmpfs usable (as far as possible) on small memory machines. This is a bit experimental, but we need to give it some real world exposure to see how well it works.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.61 |
30-Apr-2014 |
christos |
fix typo
|
| 1.60 |
30-Apr-2014 |
christos |
handle MNT_UPDATE
|
| 1.59 |
16-Apr-2014 |
maxv |
An (un)privileged user can easily make the kernel dereference a NULL pointer.
The kernel allows 'data' to be NULL; it's the fs's responsibility to ensure that it isn't NULL (if the fs actually needs data).
ok christos@
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.58 |
23-Mar-2014 |
hannken |
branches: 1.58.2; Change all vfsops to use C99 designated initializers.
No functional changes intended.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.57 |
06-Feb-2014 |
hannken |
Remove an annoying printf. And to answer the question: VFS_VGET() gets used by NFS V3 server for readdirplus.
|
| 1.56 |
04-Jan-2014 |
hannken |
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2 runs VFS_FHTOVP() and gets a new vnode attached to the node thread1 is about to destroy.
Change tmpfs_fhtovp() to check the generation number after tmpfs_vnode_get() succeeded.
|
| 1.55 |
23-Nov-2013 |
rmind |
- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
| 1.54 |
10-Nov-2013 |
rmind |
Handle whiteout case in tmpfs_dir_detach() and tmpfs_unmount().
|
| 1.53 |
08-Nov-2013 |
rmind |
tmpfs: replace the broken tmpfs_dircookie() logic which uses the node address truncated to 31 bits (required for 32-bit readdir compatibility, e.g. linux32). Instead, assign 2^31 range using the following logic: - The first half of the 2^31 is assigned incrementally (the fast path). - When exceeded, use the second half of 2^31, but manage with vmem(9).
It will require 2 billion files per-directory to trigger vmem(9) usage. Also, while here, add some fixes for tmpfs_unmount().
Should fix PR/47739, PR/47480, PR/46088 and PR/41068. Thanks to wiz@ for stress testing.
|
|
Revision tags: 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-base2 riastradh-drm2-base1 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.52 |
27-Sep-2011 |
christos |
branches: 1.52.2; 1.52.8; 1.52.12; 1.52.14; 1.52.16; 1.52.22; define and use TMPFS_MAXNAMLEN instead of MAXNAMLEN
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.51 |
29-May-2011 |
rmind |
- Rework and document inode reference counting. Also document inode life cycle (destruction part). Perform link counting in tmpfs_dir_attach() and tmpfs_dir_detach(), instead of alloc/free and arbitrary places. Fixes PR/44285, PR/44288, PR/44657 and likely PR/42484.
- Fix the race between the lookup and inode destruction. Fixes PR/43167 and its duplicates PR/40088, PR/40757.
- Improve tmpfs_rename() locking a little, fix kqueue event notifications and also fix PR/43617. Add simplistic tmpfs_parentcheck_p(); to be expanded and used for further rename() locking fixes.
- Cache directory entry "hint" in the tmpfs node, add tmpfs_dir_cached(), and thus avoid unnecessary lookup in tmpfs_remove() and tmpfs_rmdir().
- Set correct _PC_FILESIZEBITS value in tmpfs_pathconf(). Fixes PR/43576.
- Few minor fixes.
|
| 1.50 |
24-May-2011 |
rmind |
- Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
| 1.49 |
24-May-2011 |
rmind |
- tmpfs_alloc_node/tmpfs_free_node: move inode limiting into tmpfs_node_get() and tmpfs_node_put(), update outdated/wrong comments and move/add asserts. - tmpfs_mount: check for the version of arguments a bit earlier.
|
| 1.48 |
19-May-2011 |
rmind |
- tmpfs: do not create dirent/node pools per-mount, there is no need to. - tmpfs_mount: fix a leak of mount structures in error path.
|
| 1.47 |
02-Apr-2011 |
hannken |
Fix file handle operations for tmpfs by removing a now bogus test and fixing the return value of tmpfs_fhtovp() in the not-found case.
When vmlocking2 was merged to head (Jan 2008 !!) the inode numbering was changed. Before inodes were numbered 2..tm_nodes_max-1 and after the merge the numbers are derived from the nodes memory address.
Fixes PR #43605 (tmpfs file handles are broken)
|
|
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
|
| 1.46 |
26-Jun-2010 |
rmind |
branches: 1.46.2; tmpfs_statvfs: hold accounting lock, since tmpfs_pages_avail() and tmpfs_bytes_max() may fluctuate while in calculations.
|
| 1.45 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
Revision tags: 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 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
| 1.44 |
29-Jul-2008 |
pooka |
branches: 1.44.4; 1.44.14; 1.44.16; 1.44.18; 1.44.22; Solve the fstat-wants-to-look-at-kernel-data-structures in a nicer way: don't export the fs internals to innocent userspace programs which just want to mount the file system.
|
| 1.43 |
28-Jul-2008 |
pooka |
shuffle around some more defs for fstat
noticed by Kurt Schreiner on current-users
|
| 1.42 |
28-Jul-2008 |
pooka |
Install mount argument structure header just like every other file system.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.41 |
10-May-2008 |
rumble |
branches: 1.41.2; 1.41.4; Convert file systems to dynamically attach with the new module interface. Make VFS hooks dynamic while we're here and say farewell to VFS_ATTACH and VFS_HOOKS_ATTACH linksets.
As a consequence, most of the file systems can now be loaded as new style modules.
Quick sanity check by ad@.
|
| 1.40 |
29-Apr-2008 |
ad |
branches: 1.40.2; PR kern/38057 ffs makes assuptions about devvp file system PR kern/33406 softdeps get stuck in endless loop
Introduce VFS_FSYNC() and call it when syncing a block device, if it has a mounted file system.
|
| 1.39 |
28-Apr-2008 |
martin |
Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.38 |
06-Feb-2008 |
jmmv |
branches: 1.38.6; 1.38.8; 1.38.10; Drop trailing whitespace.
|
| 1.37 |
05-Feb-2008 |
ad |
Limit kva usage to 8TB and the number of inodes to 2G. Should fix PR kern/37951.
|
| 1.36 |
28-Jan-2008 |
dholland |
Fix some race conditions in rename. Introduce a per-FS rename lock and new vfsops to manipulate it. Get this lock while renaming. Also add another relookup() in do_sys_rename, which is a hack to kludge around some of the worst deficiencies of ufs_rename. reviewed-by: pooka (and an earlier rev by ad) posted on tech-kern with no objections.
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base
|
| 1.35 |
17-Jan-2008 |
pooka |
Remove bogus KASSERT: we can't make any assumptions about a dirent's node in unmount since it might have been freed already.
fixes PR kern/37667. per discussion with ad & simonb.
|
|
Revision tags: matt-armv6-base
|
| 1.34 |
02-Jan-2008 |
ad |
Merge vmlocking2 to head.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
| 1.33 |
08-Dec-2007 |
pooka |
branches: 1.33.4; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
| 1.32 |
26-Nov-2007 |
pooka |
branches: 1.32.2; 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.31 |
10-Nov-2007 |
ad |
Back out the tmpfs changes; there appears to be a bug lurking.
|
| 1.30 |
06-Nov-2007 |
ad |
Merge from vmlocking.
|
|
Revision tags: jmcneill-base
|
| 1.29 |
23-Oct-2007 |
dyoung |
branches: 1.29.2; Fix typo: I'm pretty sure that in tmpfs_done(), both of the malloc(9) types are supposed to be detached, not attached.
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 vmlocking-base
|
| 1.28 |
24-Sep-2007 |
rumble |
branches: 1.28.2; Avoid stack allocation of large dirent structures in foo_readdir().
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
| 1.27 |
03-Aug-2007 |
pooka |
branches: 1.27.2; 1.27.4; 1.27.6; 1.27.8; Set mnt_fs_bshift and mnt_dev_bshift to reasonable dummy-values.
|
| 1.26 |
31-Jul-2007 |
pooka |
* nuke the nameidata parameter from VFS_MOUNT(). Nobody on tech-kern knew what it was supposed to be used for and wrstuden gave a go-ahead * while rototilling, convert file systems which went easily to use VFS_PROTOS() instead of manually prototyping the methods
|
| 1.25 |
26-Jul-2007 |
pooka |
Use eopnotsupp() instead of vfs_stdsuspendctl() and retire the latter.
|
|
Revision tags: nick-csl-alignment-base
|
| 1.24 |
17-Jul-2007 |
pooka |
branches: 1.24.2; Make set_statvfs_info() take a parameter for the vfs name instead of always retrieving it from mp->mnt_op->vfs_name
christos ok
|
| 1.23 |
12-Jul-2007 |
dsl |
Change the VFS_MOUNT() interface so that the 'data' buffer passed to the fs code is a kernel buffer, pass though the length of the buffer as well. Since the length of the userspace buffer isn'it (yet) passed through the mount system call, add a field to the vfsops structure containing the default length. Split sys_mount() for calls from compat code. Ride one of the recent kernel version changes - old fs LKMs will load, but sys_mount() will reject any attempt to use them.
|
|
Revision tags: mjf-ufs-trans-base
|
| 1.22 |
09-Jul-2007 |
ad |
Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
| 1.21 |
30-Jun-2007 |
pooka |
Using POOL_INIT here makes no sense, since file systems always have an init method. So get rid of it and #ifdef _LKM and just always init in the init method. Give malloc types the same treatment. Makes file systems nicer to work with in linksetless environments and fixes a few LKM discrepancies.
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base
|
| 1.20 |
22-Feb-2007 |
thorpej |
branches: 1.20.4; 1.20.6; TRUE -> true, FALSE -> false
|
| 1.19 |
21-Feb-2007 |
thorpej |
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.18 |
19-Jan-2007 |
hannken |
branches: 1.18.2; New file system suspension API to replace vn_start_write and vn_finished_write. The suspension helpers are now put into file system specific operations. This means every file system not supporting these helpers cannot be suspended and therefore snapshots are no longer possible.
Implemented for file systems of type ffs.
The new API is enabled on a kernel option NEWVNGATE. This option is not enabled by default in any kernel config.
Presented and discussed on tech-kern with much input from Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>.
Welcome to 4.99.9 (new vfs op vfs_suspendctl).
|
|
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 wrstuden-fixsa-base yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 netbsd-4-base
|
| 1.17 |
16-Nov-2006 |
christos |
__unused removal on arguments; approved by core.
|
| 1.16 |
09-Nov-2006 |
jmmv |
Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.15 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 rpaulo-netinet-merge-pcb-base
|
| 1.14 |
03-Sep-2006 |
christos |
branches: 1.14.2; 1.14.4; add missing initializers
|
|
Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7
|
| 1.13 |
13-Jul-2006 |
martin |
Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ, version the getfh(2) syscall and explicitly pass the size available in the filehandle from userland.
Discussed on tech-kern, with lots of help from yamt (thanks!).
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
| 1.12 |
14-May-2006 |
elad |
branches: 1.12.4; 1.12.6; 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.11 |
16-Feb-2006 |
jmmv |
branches: 1.11.2; 1.11.4; 1.11.6; Do not use unnamed structures/unions without instances; they break the build under vax because of gcc 2.95. Found by he@.
|
| 1.10 |
11-Dec-2005 |
christos |
branches: 1.10.2; 1.10.4; 1.10.6; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.9 |
26-Sep-2005 |
jmmv |
branches: 1.9.6; Handle too big numbers given in the max size argument.
|
| 1.8 |
25-Sep-2005 |
jmmv |
Only consider valid flags in the root mode's parameter given by the user. I doubt the unchecked value could bring us problems, but better to be safe than sorry.
|
| 1.7 |
25-Sep-2005 |
jmmv |
Sanity check negative values in the maximum size and number of nodes arguments to avoid a crash while mounting a tmpfs file system. Add a regression test for this too. Noticed by chs@.
|
| 1.6 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.5 |
23-Sep-2005 |
jmmv |
Start inode numbers on 2 to mimic UFS tradition (and to avoid problems if some utility relies on this).
|
| 1.4 |
23-Sep-2005 |
jmmv |
Apply the NFS exports list rototill patch:
- Remove all NFS related stuff from file system specific code. - Drop the vfs_checkexp hook and generalize it in the new nfs_check_export function, thus removing redundancy from all file systems. - Move all NFS export-related stuff from kern/vfs_subr.c to the new file sys/nfs/nfs_export.c. The former was becoming large and its code is always compiled, regardless of the build options. Using the latter, the code is only compiled in when NFSSERVER is enabled. While doing this, also make some functions in nfs_subs.c conditional to NFSSERVER. - Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a path and a set of export entries. At the moment it can only clear the exports list or append entries, one by one, but it is done in a way that allows setting the whole set of entries atomically in the future (see the comment in mountd_set_exports_list or in doc/TODO). - Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so that it becomes file system agnostic. In fact, all this whole thing was done to remove a 'XXX' block from this utility! - Change the mount*, newfs and fsck* userland utilities to not deal with NFS exports initialization; done internally by the kernel when initializing the NFS support for each file system. - Implement an interface for VFS (called VFS hooks) so that several kernel subsystems can run arbitrary code upon receipt of specific VFS events. At the moment, this only provides support for unmount and is used to destroy NFS exports lists from the file systems being unmounted, though it has room for extension.
Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments and advice in the development of this patch.
|
| 1.3 |
13-Sep-2005 |
jmmv |
Nodes cannot use the '0' identifier or they will be skipped by readdir. E.g., the root node's '.' and '..' directory entries did not appear in a directory list, because the root node always holds the first id.
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.150 |
01-Jun-2022 |
hannken |
tmpfs_read: respect MNT_NOATIME.
|
| 1.149 |
27-Mar-2022 |
christos |
add a kauth vnode check for creating links
|
| 1.148 |
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.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.147 |
18-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
|
| 1.146 |
29-Jun-2021 |
dholland |
- Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always.
Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.145 |
13-Dec-2020 |
chs |
branches: 1.145.4; Disable use of UBC_FAULTBUSY in tmpfs_write() for now, which brings back zeroing of all new tmpfs data pages. The existing code that enables this optimization skips the zeroing in numerous cases where it is needed, resulting in corrupted files and data leaks from the page's previous identity.
|
| 1.144 |
05-Sep-2020 |
riastradh |
branches: 1.144.2; Round of uvm.h cleanup.
The poorly named uvm.h is generally supposed to be for uvm-internal users only.
- Narrow it to files that actually need it -- mostly files that need to query whether curlwp is the pagedaemon, which should maybe be exposed by an external header.
- Use uvm_extern.h where feasible and uvm_*.h for things not exposed by it. We should split up uvm_extern.h but this will serve for now to reduce the uvm.h dependencies.
- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use UVMHIST(ubchist), since ubchist is declared in uvm.h but the reference evaporates if UVMHIST is not defined, so we reduce header file dependencies.
- Make uvm_device.h and uvm_swap.h independently includable while here.
ok chs@
|
| 1.143 |
27-Jun-2020 |
christos |
Introduce genfs_pathconf() and use it for the default case in all filesystems.
|
| 1.142 |
24-May-2020 |
ad |
tmpfs_write(): use UBC_FAULTBUSY when extending files, if possible, to avoid zeroing of newly allocated pages & fault processing.
|
| 1.141 |
19-May-2020 |
ad |
PR kern/32166: pgo_get protocol is ambiguous Also problems with tmpfs+nfs noted by hannken@.
Don't pass PGO_ALLPAGES to pgo_get, and ignore PGO_DONTCARE in the !PGO_LOCKED case. In uao_get() have uvm_pagealloc() take care of page zeroing and release busy pages on error.
|
| 1.140 |
17-May-2020 |
ad |
Minor correction to previous.
|
| 1.139 |
17-May-2020 |
ad |
PR kern/55268: tmpfs is slow
tmpfs_getpages(): handle the PGO_LOCKED case and implement lazy update of atime/mtime.
|
| 1.138 |
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
| 1.137 |
15-May-2020 |
ad |
PR kern/55268: tmpfs is slow
Enter dotdot into the namecache.
|
|
Revision tags: bouyer-xenpvh-base2
|
| 1.136 |
23-Apr-2020 |
ad |
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed somewhere. Use it to decide whether to do direct-mapped copy, rather than poking around directly in the vnode in ubc_uiomove(), which is ugly and doesn't work for tmpfs. It would be nicer to contain all this in UVM but the filesystem provides the needed locking here (VV_MAPPED) and to reinvent that would suck more.
- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS(). Pass in UBC_ISMAPPED where appropriate.
|
|
Revision tags: phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.135 |
14-Mar-2020 |
ad |
branches: 1.135.2; tmpfs_inactive(): do like other file systems and truncate the file if it has been deleted. Otherwise VFS will try to write cached data "back to disc", which in the case of a UAO means needless page deactivations and the resulting TLB shootdowns.
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.134 |
23-Feb-2020 |
ad |
UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.133 |
26-May-2017 |
riastradh |
branches: 1.133.10; 1.133.16; Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it locked on entry is not strictly necessary -- but it means if there are any final operations that must be done on the vnode, such as ffs_update, requiring exclusive access to it, we can now kassert that the vnode is locked in those operations.
We can't just have the caller release the last lock because some file systems don't use genfs_lock, and require the vnode to remain valid for VOP_UNLOCK to work, notably unionfs.
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base
|
| 1.132 |
26-Apr-2017 |
riastradh |
Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the componentname in the vop parameters, and let all directory vops do lookups internally.
Proposed on tech-kern with no objections: https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
|
|
Revision tags: pgoyette-localcount-20170426 bouyer-socketcan-base1
|
| 1.131 |
11-Apr-2017 |
riastradh |
Make VOP_INACTIVE preserve vnode lock on return.
Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
|
|
Revision tags: jdolecek-ncq-base
|
| 1.130 |
30-Mar-2017 |
hannken |
Protect tmpfs_getpages() against reclaiming vnodes.
|
|
Revision tags: pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base
|
| 1.129 |
11-Jan-2017 |
joerg |
branches: 1.129.2; Remove RO check in tmpfs_putpages for now, the syncer doesn't like the error code.
|
|
Revision tags: pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
| 1.128 |
20-Aug-2016 |
hannken |
Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
|
|
Revision tags: 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.127 |
12-Mar-2016 |
martin |
branches: 1.127.2; Backout previous - need coffee first
|
| 1.126 |
12-Mar-2016 |
martin |
Mark a variable as __diagused.
|
| 1.125 |
12-Mar-2016 |
kardel |
do no access uninitialized variables in KASSERTs - fixes build
|
| 1.124 |
12-Mar-2016 |
joerg |
Implement most of mount -ur functionality for tmpfs. Remaining issue is the question who is responsible for syncing pending writes, but the functionality is good enough for serving as read-only chroot base in bulk builds.
|
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.123 |
06-Jul-2015 |
hannken |
Change tmpfs to vcache. - Use tmpfs node address as key. - Remove tn_vlock, field tn_vnode now protected by vcache. - Add a hold count to tmpfs node to prevent nodes from disappearing while tmpfs_fhtovp() trys to vcache_get() them. Last holder destroys reclaimed nodes. - Remove the now unneeded parent unlock/lock for lookup of '..'.
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.122 |
20-Apr-2015 |
riastradh |
Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
|
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.121 |
08-Sep-2014 |
gson |
branches: 1.121.2; Store symlinks without a NUL terminator so that lstat(2) returns the correct length. Fixes the tmpfs part of PR kern/48864.
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.120 |
25-Jul-2014 |
dholland |
branches: 1.120.2; Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can find.
The filesystem ones all call genfs_eopnotsupp - right now I am only implementing the plumbing and we can implement fallocate and/or fdiscard for files later.
The device ones call spec_fallocate (which is also genfs_eopnotsupp) and spec_fdiscard, which dispatches to the device-level op.
The fifo ones all call vn_fifo_bypass, which also ends up being EOPNOTSUPP.
|
| 1.119 |
26-May-2014 |
rmind |
tmpfs_mknod: it is not our responsibility to call vput() on the directory vnode, so remove it (and ensure *vpp is NULL while here).
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.118 |
27-Feb-2014 |
hannken |
branches: 1.118.2; The current implementation of vn_lock() is racy. Modification of the vnode operations vector for active vnodes is unsafe because it is not known whether deadfs or the original file system will be called.
- Pass down LK_RETRY to the lock operation (hint for deadfs only).
- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.
- Change all other lock operations to check for dead vnode once the vnode is locked and unlock and return ENOENT in this case.
With these changes in place vnode lock operations will never succeed after vclean() has marked the vnode as VI_XLOCK and before vclean() has changed the operations vector.
Adresses PR kern/37706 (Forced unmount of file systems is unsafe)
Discussed on tech-kern.
Welcome to 6.99.33
|
| 1.117 |
17-Feb-2014 |
maxv |
Adapt my previous patch differently. read(2) wants EISDIR when the object is a directory. Which also means that tmpfs_read() was returning a wrong error code when dealing with non-regular vnodes.
|
| 1.116 |
16-Feb-2014 |
maxv |
Fix tmpfs_read()'s return value; it should return EINVAL. Now consistent with tmpfs_write().
ok christos@
|
| 1.115 |
07-Feb-2014 |
hannken |
Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
| 1.114 |
23-Jan-2014 |
hannken |
Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
| 1.113 |
17-Jan-2014 |
hannken |
Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
| 1.112 |
10-Jan-2014 |
pedro |
Prevent a diagnostic assertion in tmpfs_rmdir() from being triggered through an rmdir on ".." by moving it so it happens after the check for empty directories; OK rmind@.
|
| 1.111 |
03-Jan-2014 |
hannken |
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2 runs VFS_FHTOVP() and gets a new vnode attached to the node thread1 is about to destroy.
Change tmpfs_alloc_node() to always assign non-zero generation number and tmpfs_inactive() to set the generation number of unlinked nodes to zero.
|
| 1.110 |
24-Dec-2013 |
hannken |
It is not the task of tmpfs_open() to check for unlinked nodes.
Fix tmpfs_lookup() to always return ENOENT when looking up from an unlinked directory.
|
| 1.109 |
24-Nov-2013 |
rmind |
- tmpfs_construct_node: prevent from the new node construction if the directory was removed. Fixes the crash reported by Nicolas Joly. - tmpfs_reclaim: avoid race by checking tn_links with the vnode locked.
|
| 1.108 |
23-Nov-2013 |
rmind |
Fix previous, add __diagused.
|
| 1.107 |
23-Nov-2013 |
rmind |
- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
|
| 1.106 |
08-Nov-2013 |
rmind |
tmpfs: replace the broken tmpfs_dircookie() logic which uses the node address truncated to 31 bits (required for 32-bit readdir compatibility, e.g. linux32). Instead, assign 2^31 range using the following logic: - The first half of the 2^31 is assigned incrementally (the fast path). - When exceeded, use the second half of 2^31, but manage with vmem(9).
It will require 2 billion files per-directory to trigger vmem(9) usage. Also, while here, add some fixes for tmpfs_unmount().
Should fix PR/47739, PR/47480, PR/46088 and PR/41068. Thanks to wiz@ for stress testing.
|
| 1.105 |
01-Nov-2013 |
rmind |
tmpfs: fix the zero-length symlink target case as NetBSD supports them.
|
| 1.104 |
31-Oct-2013 |
rmind |
tmpfs_alloc_node: it is less error-prone to store the link path with the NIL terminator included. Adjust tmpfs_readlink() to exclude NIL. Also, remove the check for zero-length and add some asserts.
|
| 1.103 |
04-Oct-2013 |
rmind |
- tmpfs_remove: check 'appendable' flag for the parent directory as well. Patch from Pedro Martelletto. - tmpfs_dir_detach: remove missleading check. - tmpfs_link: remove unused variable.
|
| 1.102 |
01-Oct-2013 |
rmind |
tmpfs_remove: as per POSIX, "if the file's link count is not 0, the last file status change timestamp of the file shall be marked for update."
From Pedro Martelletto.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.101 |
18-Mar-2013 |
plunky |
branches: 1.101.6; C99 section 6.7.2.3 (Tags) Note 3 states that:
A type specifier of the form
enum identifier
without an enumerator list shall only appear after the type it specifies is complete.
which means that we cannot pass an "enum vtype" argument to kauth_access_action() without fully specifying the type first. Unfortunately there is a complicated include file loop which makes that difficult, so convert this minimal function into a macro (and capitalize it).
(ok elad@)
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
| 1.100 |
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
| 1.99 |
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
|
Revision tags: yamt-pagecache-base6
|
| 1.98 |
22-Jul-2012 |
rmind |
branches: 1.98.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
| 1.97 |
09-May-2012 |
riastradh |
Adapt tmpfs_rename to use genfs_rename.
|
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
| 1.96 |
13-Mar-2012 |
elad |
Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
|
| 1.95 |
27-Feb-2012 |
chs |
in tmpfs_readdir(), skip the . and .. processing on removed directories, since the latter will crash in this case.
|
|
Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
| 1.94 |
22-Jan-2012 |
rmind |
branches: 1.94.2; tmpfs_access: simplify, no need to separate the logic.
|
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base
|
| 1.93 |
18-Nov-2011 |
christos |
branches: 1.93.4; Obey MNT_RELATIME, the only addition is that mkdir in ufs sets IN_ACCESS too.
|
|
Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.92 |
27-Sep-2011 |
christos |
branches: 1.92.2; return TMPFS_MAXNAMLEN instead of NAME_MAX
|
| 1.91 |
27-Sep-2011 |
christos |
define and use TMPFS_MAXNAMLEN instead of MAXNAMLEN
|
| 1.90 |
27-Aug-2011 |
hannken |
Finish and enable whiteout support for tmpfs:
- Enable VOP tmpfs_whiteout(). - Support ISWHITEOUT in tmpfs_alloc_file(). - Support DOWHITEOUT in tmpfs_remove() and tmpfs_rmdir(). - Make rmdir on a directory containing whiteouts working.
Should fix PR #35112 (tmpfs doesn't play well with unionfs).
|
| 1.89 |
18-Aug-2011 |
riastradh |
Fix tmpfs_rename locking.
Fixes PR kern/36681. tmpfs now survives dirconc, all our vfs/tmpfs tests and rename races in atf, and a bunch of hand-written tests that I'd commit if atf didn't find them highly indigestible.
ok dholland
|
| 1.88 |
13-Jul-2011 |
riastradh |
Fix renaming over mismatched non-directory types in tmpfs.
Renaming a file of any non-directory type over another file of any other non-directory type is OK -- they need not match as long as neither is a directory, so loosen the kassert to reflect this.
XXX Need to write test cases for this.
ok dholland, rmind
|
| 1.87 |
12-Jun-2011 |
rmind |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.86 |
30-May-2011 |
rmind |
branches: 1.86.2; - tmpfs_getattr: perform tmpfs_update() before fetching the timestamps. - tmpfs_rmdir: detach after tn_links decrement, so that correct event i.e. NOTE_DELETE would be trigerred.
|
| 1.85 |
29-May-2011 |
rmind |
- Rework and document inode reference counting. Also document inode life cycle (destruction part). Perform link counting in tmpfs_dir_attach() and tmpfs_dir_detach(), instead of alloc/free and arbitrary places. Fixes PR/44285, PR/44288, PR/44657 and likely PR/42484.
- Fix the race between the lookup and inode destruction. Fixes PR/43167 and its duplicates PR/40088, PR/40757.
- Improve tmpfs_rename() locking a little, fix kqueue event notifications and also fix PR/43617. Add simplistic tmpfs_parentcheck_p(); to be expanded and used for further rename() locking fixes.
- Cache directory entry "hint" in the tmpfs node, add tmpfs_dir_cached(), and thus avoid unnecessary lookup in tmpfs_remove() and tmpfs_rmdir().
- Set correct _PC_FILESIZEBITS value in tmpfs_pathconf(). Fixes PR/43576.
- Few minor fixes.
|
| 1.84 |
24-May-2011 |
rmind |
- tmpfs_lookup: cache (cnp->cn_flags & ISLASTCN) in const bool; de-indent. - Group tmpfs_{alloc,free}_dirent() with other dirent routines.
No functional changes.
|
| 1.83 |
24-May-2011 |
rmind |
- Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
| 1.82 |
19-May-2011 |
rmind |
Add comments, clean up.
|
| 1.81 |
19-May-2011 |
rmind |
Remove cache_purge(9) calls from reclamation routines in the file systems, as vclean(9) performs it for us since Lite2 merge.
|
| 1.80 |
10-May-2011 |
matt |
yes, more C99 please (back out previous change).
|
| 1.79 |
08-May-2011 |
christos |
no c99 please.
|
| 1.78 |
02-May-2011 |
rmind |
Constify, update some comments, use memset() to clear pgs.
|
| 1.77 |
24-Apr-2011 |
rmind |
sys_link: prevent hard links on directories (cross-mount operations are already prevented). File systems are no longer responsible to check this. Clean up and add asserts (note that dvp == vp cannot happen in vop_link).
OK dholland@
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base
|
| 1.76 |
13-Jan-2011 |
pooka |
branches: 1.76.2; Add some support for unionfs (not built by default). It's still missing at least opaque directory support, but until someone figures out how that should work on ffs (see PR kern/kern/44383), there's no point in trying to figure out how it should work here.
|
|
Revision tags: matt-mips64-premerge-20101231
|
| 1.75 |
30-Nov-2010 |
dholland |
Abolish the SAVENAME and HASBUF flags. There is now always a buffer, so the path in a struct componentname is now always valid during VOP calls.
|
| 1.74 |
30-Nov-2010 |
dholland |
Abolish struct componentname's cn_pnbuf. Use the path buffer in the pathbuf object passed to namei as work space instead. (For now a pnbuf pointer appears in struct nameidata, to support certain unclean things that haven't been fixed yet, but it will be going away in the future.)
This removes the need for the SAVENAME and HASBUF namei flags.
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.73 |
14-Jul-2010 |
pooka |
return same errno as ffs
|
| 1.72 |
02-Jul-2010 |
rmind |
tmpfs_lookup: add comment, de-ident main path. No functional change. tmpfs_dir_attach: add assert.
|
| 1.71 |
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
| 1.70 |
22-Jun-2010 |
rmind |
Replace tmpfs_pool custom allocator code with a simpler layer for memory accounting. Use wired memory (which can be limited) for meta-data, and kmem(9) for string allocations.
Close PR/31944. Fix PR/38361 while here. OK ad@.
|
|
Revision tags: uebayasi-xip-base1
|
| 1.69 |
23-Apr-2010 |
pooka |
Enforce RLIMIT_FSIZE before VOP_WRITE. This adds support to file system drivers where it was missing from and fixes one buggy implementation. The arguably weird semantics of the check are maintained (v_size vs. va_bytes, overwrite).
|
| 1.68 |
29-Mar-2010 |
pooka |
Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
|
| 1.67 |
27-Mar-2010 |
pooka |
\n, police!
|
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
| 1.66 |
08-Jan-2010 |
pooka |
branches: 1.66.2; 1.66.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
|
Revision tags: matt-premerge-20091211
|
| 1.65 |
22-Nov-2009 |
jmmv |
Fix panic when trying to delete a directory entry (hi yamt!) by not attempting to release a pnbuf that does not exist.
I.e. fixes "mkdir a ; unlink a/.". And actually, this was caught by the automated tests.
|
|
Revision tags: jym-xensuspend-nbase
|
| 1.64 |
17-Oct-2009 |
njoly |
Make tmpfs write fail when process file size limit is reached.
|
| 1.63 |
06-Oct-2009 |
rmind |
tmpfs_rename: handle hard-links correctly. Fixes PR/41236.
|
|
Revision tags: yamt-nfs-mp-base8
|
| 1.62 |
03-Sep-2009 |
elad |
Implement the vnode scope and adapt tmpfs to use it.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/07/04/msg005404.html
|
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6
|
| 1.61 |
03-Jul-2009 |
elad |
Where possible, extract the file-system's access() routine to two internal functions: the first checking if the operation is possible (regardless of permissions), the second checking file-system permissions, ACLs, etc.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005311.html
|
| 1.60 |
23-Jun-2009 |
elad |
Move the implementation of vaccess() to genfs_can_access(), in line with the other routines of the same spirit.
Adjust file-system code to use it.
Keep vaccess() for KPI compatibility and to keep element of least surprise. A "diagnostic" message warning that vaccess() is deprecated will be printed when it's used (obviously, only in DIAGNOSTIC kernels).
No objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005310.html
|
|
Revision tags: yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 jym-xensuspend-base
|
| 1.59 |
29-Apr-2009 |
pooka |
replace outdated comment. no functional change
|
|
Revision tags: nick-hppapmap-base3 nick-hppapmap-base
|
| 1.58 |
15-Apr-2009 |
yamt |
plug some pnbuf leaks.
|
| 1.57 |
11-Apr-2009 |
perry |
SAVENAME was not set for rename and delete as required
Patch from christos, fixes pr 41183
|
| 1.56 |
05-Apr-2009 |
pooka |
Invariants should be tested for with KASSERT instead of semi-pretending that them not holding is an acceptable error condition.
|
| 1.55 |
03-Apr-2009 |
pooka |
Fix yet another recent crashy bug in tmpfs rename: since the source dirent is no longer cached in lookup and we do the lookup ourselves in rename, we are most definitely not allowed to assert that it matches the source vnode passed as an argument. In case the source node does not exist or has been replaced, punt with ENOENT.
Also, nuke some misleading prehistoric comments which haven't been valid in over a year.
Fixes PR kern/41128 by Nicolas Joly
|
| 1.54 |
19-Mar-2009 |
pooka |
Release dvp in mknod error branch.
Nicolas Joly, PR kern/41006
|
|
Revision tags: nick-hppapmap-base2
|
| 1.53 |
07-Feb-2009 |
pooka |
branches: 1.53.2; If fdvp is tvp, do nothing. Prevents local DoS panic described in PR kern/38219... maybe. This is hastily concocted fix for 5.0 and I'm not sure if it has side-effects.
|
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
| 1.52 |
26-Nov-2008 |
pooka |
Rototill all remaining file systems to use ubc_uiomove() instead of the ubc_alloc() - uiomove() - ubc_release() dance.
|
|
Revision tags: 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 simonb-wapbl-base wrstuden-revivesa-base
|
| 1.51 |
19-Jun-2008 |
christos |
branches: 1.51.2; 1.51.4; 1.51.6; - setting the birthdate is valid in setattr. - don't call nanotime if not needed. - don't call tempfs_update() if tempfs_chtimes succeeded, because it just did.
|
|
Revision tags: yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.50 |
28-Apr-2008 |
martin |
branches: 1.50.2; 1.50.4; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.49 |
06-Feb-2008 |
jmmv |
branches: 1.49.6; 1.49.8; 1.49.10; Drop trailing whitespace.
|
| 1.48 |
31-Jan-2008 |
ad |
Remove debugging code that's no longer needed.
|
| 1.47 |
30-Jan-2008 |
ad |
Replace struct lock on vnodes with a simpler lock object built on krwlock_t. This is a step towards removing lockmgr and simplifying vnode locking. Discussed on tech-kern.
|
| 1.46 |
25-Jan-2008 |
ad |
Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.45 |
02-Jan-2008 |
ad |
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.44 |
26-Nov-2007 |
pooka |
branches: 1.44.2; 1.44.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
|
| 1.43 |
23-Nov-2007 |
pooka |
Fix a race condition: in case two source paths hardlinked to the same file were renamed simultaneously, there was a window where directory entry cached in the vnode during lookup would be replaced before calling rename. This lead to one directory entry getting renamed twice and the other one getting zero renames. Do a relookup in rename to make sure we have the correct directory entry.
Thanks go to Greg Oster for reporting the problem, helping with debugging and thoroughly testing the patch.
|
|
Revision tags: bouyer-xenamd64-base2 bouyer-xenamd64-base
|
| 1.42 |
10-Nov-2007 |
ad |
Back out the tmpfs changes; there appears to be a bug lurking.
|
| 1.41 |
06-Nov-2007 |
ad |
Merge from vmlocking.
|
|
Revision tags: jmcneill-base
|
| 1.40 |
23-Oct-2007 |
dyoung |
branches: 1.40.2; Borrow a clue from the vmlocking branch, and consolidate all of the vput(9)ing in tmpfs_rmdir() in one place. No functional change intended.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
| 1.39 |
23-Jul-2007 |
jmmv |
branches: 1.39.4; 1.39.6; 1.39.10; 1.39.12; Multiple fixes for tmpfs' rename operation:
- Raise an error if renaming a file to a directory. - Raise an error if renaming a directory to a file. - Raise an error if renaming a directory to a non-empty directory. - Properly allow renaming a directory to an empty directory. The system could previously crash if the kernel had DIAGNOSTIC enabled, as this triggered a bogus assertion.
Problem found by Geoff Wing.
|
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.38 |
09-Jul-2007 |
ad |
branches: 1.38.2; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base
|
| 1.37 |
22-Feb-2007 |
thorpej |
branches: 1.37.4; 1.37.6; TRUE -> true, FALSE -> false
|
| 1.36 |
21-Feb-2007 |
thorpej |
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.35 |
04-Jan-2007 |
elad |
branches: 1.35.2; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
| 1.34 |
02-Jan-2007 |
pooka |
* fix locking gotchas when trying to unlink "." * return standard EPERM when trying to unlink a directory * reorder some checks in rmdir avoid problems if trying to rmdir ".."
jmmv ok
|
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
| 1.33 |
09-Dec-2006 |
chs |
a smorgasbord of improvements to vnode locking and path lookup: - LOCKPARENT is no longer relevant for lookup(), relookup() or VOP_LOOKUP(). these now always return the parent vnode locked. namei() works as before. lookup() and various other paths no longer acquire vnode locks in the wrong order via vrele(). fixes PR 32535. as a nice side effect, path lookup is also up to 25% faster. - the above allows us to get rid of PDIRUNLOCK. - also get rid of WANTPARENT (just use LOCKPARENT and unlock it). - remove an assumption in layer_node_find() that all file systems implement a recursive VOP_LOCK() (unionfs doesn't). - require that all file systems supply vfs_vptofh and vfs_fhtovp routines. fill in eopnotsupp() for file systems that don't support being exported and remove the checks for NULL. (layerfs calls these without checking.) - in union_lookup1(), don't change refcounts in the ISDOTDOT case, just adjust which vnode is locked. fixes PR 33374. - apply fixes for ufs_rename() from ufs_vnops.c rev. 1.61 to ext2fs_rename().
|
|
Revision tags: netbsd-4-base
|
| 1.32 |
09-Nov-2006 |
jmmv |
branches: 1.32.2; Opening a file after it has been removed (e.g. rmdir $(pwd)) has to fail.
|
| 1.31 |
09-Nov-2006 |
jmmv |
Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests.
|
| 1.30 |
07-Nov-2006 |
jmmv |
tmpfs_open cannot assume that the node to be open is still linked to a directory, so remove an invalid assertion. Otherwise the kernel incorrectly panics when accessing the current directory after it has been removed.
|
| 1.29 |
05-Nov-2006 |
jmmv |
Truncate directory cookies to 31 bits to avoid problems exposed in Linux binaries which cast the returned values to 64-bits and fail due to sign expansion. More details are provided in the big comment in tmpfs.h that describes how the new tmpfs_dircookie works.
This is a rather ugly hack that shall be fixed with a cleaner solution, but this resolves the problem in an effective way.
Fixes kern PR/32034.
|
| 1.28 |
02-Nov-2006 |
jmmv |
Make tmpfs_getpages behave as genfs_getpages by ignoring the input pages array's contents and returning all the requested pages. Otherwise there are problems (accessing invalid memory) when the a_m vector is passed uninitialized as the NFS server code does. Fixes PR kern/34959.
Note that this is not a "real" fix. While this makes tmpfs's getpages operation consistent with the behavior of other file systems, it does not resolve the different semantics between uvn_get and uao_get as described in PR kern/32166. I'm adding a comment in the code mentioning exactly this so that it can be reviewed when this last problem is addressed.
|
| 1.27 |
30-Oct-2006 |
jmmv |
Update the file's ctime after a rename. Thanks to pooka@.
|
| 1.26 |
30-Oct-2006 |
jmmv |
When renaming a file, we have to modify the mtime of the directory holding it, not the mtime of the file itself. This fixes the problems exposed when unpacking software under a tmpfs and trying to build it because dependencies were not calculated properly (e.g. autoconf 2.60 as reported by tls@).
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
|
| 1.25 |
23-Jul-2006 |
ad |
branches: 1.25.4; 1.25.6; Use the LWP cached credentials where sane.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
| 1.24 |
15-May-2006 |
christos |
branches: 1.24.6; kauth fallout
|
| 1.23 |
14-May-2006 |
elad |
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.22 |
21-Feb-2006 |
christos |
branches: 1.22.2; 1.22.4; 1.22.6; PR/31850: Geoff Wing: tmpfs does not honor sticky directories.
|
| 1.21 |
16-Feb-2006 |
jmmv |
Do not use unnamed structures/unions without instances; they break the build under vax because of gcc 2.95. Found by he@.
|
| 1.20 |
26-Jan-2006 |
jmmv |
branches: 1.20.2; 1.20.4; Cut a too long line introduced during the conversion to lwps.
|
| 1.19 |
11-Dec-2005 |
christos |
branches: 1.19.2; merge ktrace-lwp.
|
|
Revision tags: ktrace-lwp-base
|
| 1.18 |
29-Nov-2005 |
yamt |
merge yamt-readahead branch.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.17 |
02-Nov-2005 |
yamt |
branches: 1.17.2; 1.17.4; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.16 |
03-Oct-2005 |
jmmv |
branches: 1.16.2; Follow symlinks during lookup (i.e., don't stop too early) so that symlinks to directories work as expected. Diagnosed by Greg Oster.
|
| 1.15 |
29-Sep-2005 |
jmmv |
Implement the tmpfs_advlock operation. Makes "user-level" file locking work (aka lockf(3)).
|
| 1.14 |
28-Sep-2005 |
yamt |
tmpfs_getattr: return up-to-date timestamps.
|
| 1.13 |
26-Sep-2005 |
yamt |
tmpfs_rename: fix lock/unlock mismatch.
|
| 1.12 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.11 |
23-Sep-2005 |
jmmv |
Lock the source directory during the rename operation so that we are safe to modify it (I hope this is the correct way to go). Avoids triggering an assertion in the tmpfs_dir_detach function, shown by the t_rename regression test.
|
| 1.10 |
15-Sep-2005 |
yamt |
change the way to handle directory "offsets" so that they won't be changed when removing entries in the directory. some applications like cvs rely on this.
|
| 1.9 |
14-Sep-2005 |
yamt |
tmpfs_getpages: don't create pages past eof.
|
| 1.8 |
14-Sep-2005 |
yamt |
tmpfs_read: handle requests past EOF.
|
| 1.7 |
13-Sep-2005 |
jmmv |
Adapt recent changes to the style of the rest of the file.
|
| 1.6 |
13-Sep-2005 |
yamt |
- don't waste/leak kva. - implement getpages/putpages. support mmap. - eliminate meaningless memcpy. - ubcify.
|
| 1.5 |
13-Sep-2005 |
yamt |
tmpfs_read: return EISDIR rather than EINVAL for non-VREG files. XXX should we follow nfs, which uses EPERM?
|
| 1.4 |
13-Sep-2005 |
yamt |
tmpfs_link: always free pnbuf.
|
| 1.3 |
12-Sep-2005 |
christos |
convert to use it nanotime, but don't call it unless it is necessary.
|
| 1.2 |
10-Sep-2005 |
jmmv |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|
|
Revision tags: netbsd-11-0-RC1 perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.14 |
18-Jul-2021 |
dholland |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 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-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-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 tls-maxphys-base 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 rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.13 |
24-May-2011 |
rmind |
branches: 1.13.72; - Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base
|
| 1.12 |
13-Jan-2011 |
pooka |
branches: 1.12.2; Add some support for unionfs (not built by default). It's still missing at least opaque directory support, but until someone figures out how that should work on ffs (see PR kern/kern/44383), there's no point in trying to figure out how it should work here.
|
|
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-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.11 |
28-Apr-2008 |
martin |
branches: 1.11.22; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX 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 matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.10 |
25-Jan-2008 |
ad |
branches: 1.10.6; 1.10.8; 1.10.10; Remove VOP_LEASE. Discussed on tech-kern.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.9 |
09-Nov-2006 |
jmmv |
branches: 1.9.24; 1.9.30; Add 2006 to the copyright notice; should have done this when touching the files before.
|
| 1.8 |
09-Nov-2006 |
jmmv |
Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests.
|
|
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 simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base ktrace-lwp-base
|
| 1.7 |
03-Dec-2005 |
christos |
branches: 1.7.18; 1.7.22; 1.7.24; - protect userland exported files against multiple inclusion. - make sure that kernel only files don't compile in userland using #error - XXX: some kernel only files still get installed. - XXX: some files used in userland, don't get installed.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base
|
| 1.6 |
02-Nov-2005 |
yamt |
branches: 1.6.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.5 |
29-Sep-2005 |
jmmv |
branches: 1.5.2; Implement the tmpfs_advlock operation. Makes "user-level" file locking work (aka lockf(3)).
|
| 1.4 |
23-Sep-2005 |
jmmv |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
|
| 1.3 |
13-Sep-2005 |
yamt |
- don't waste/leak kva. - implement getpages/putpages. support mmap. - eliminate meaningless memcpy. - ubcify.
|
| 1.2 |
12-Sep-2005 |
yamt |
fix lock/unlock mismatch. XXX this is not a real fix.
|
| 1.1 |
10-Sep-2005 |
jmmv |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
|