head 1.8; access; symbols netbsd-10-2-RELEASE:1.8 netbsd-9-5-RELEASE:1.8 netbsd-11-0-RELEASE:1.8 netbsd-11-0-RC7:1.8 netbsd-11-0-RC6:1.8 netbsd-11-0-RC5:1.8 netbsd-11-0-RC4:1.8 netbsd-11-0-RC3:1.8 netbsd-11-0-RC2:1.8 netbsd-11-0-RC1:1.8 perseant-exfatfs-base-20250801:1.8 netbsd-11:1.8.0.56 netbsd-11-base:1.8 netbsd-10-1-RELEASE:1.8 perseant-exfatfs-base-20240630:1.8 perseant-exfatfs:1.8.0.54 perseant-exfatfs-base:1.8 netbsd-8-3-RELEASE:1.8 netbsd-9-4-RELEASE:1.8 netbsd-10-0-RELEASE:1.8 netbsd-10-0-RC6:1.8 netbsd-10-0-RC5:1.8 netbsd-10-0-RC4:1.8 netbsd-10-0-RC3:1.8 netbsd-10-0-RC2:1.8 thorpej-ifq:1.8.0.52 thorpej-ifq-base:1.8 thorpej-altq-separation:1.8.0.50 thorpej-altq-separation-base:1.8 netbsd-10-0-RC1:1.8 netbsd-10:1.8.0.48 netbsd-10-base:1.8 bouyer-sunxi-drm:1.8.0.46 bouyer-sunxi-drm-base:1.8 netbsd-9-3-RELEASE:1.8 thorpej-i2c-spi-conf2:1.8.0.44 thorpej-i2c-spi-conf2-base:1.8 thorpej-futex2:1.8.0.42 thorpej-futex2-base:1.8 thorpej-cfargs2:1.8.0.40 thorpej-cfargs2-base:1.8 cjep_sun2x-base1:1.8 cjep_sun2x:1.8.0.38 cjep_sun2x-base:1.8 cjep_staticlib_x-base1:1.8 netbsd-9-2-RELEASE:1.8 cjep_staticlib_x:1.8.0.36 cjep_staticlib_x-base:1.8 thorpej-i2c-spi-conf:1.8.0.34 thorpej-i2c-spi-conf-base:1.8 thorpej-cfargs:1.8.0.32 thorpej-cfargs-base:1.8 thorpej-futex:1.8.0.30 thorpej-futex-base:1.8 netbsd-9-1-RELEASE:1.8 bouyer-xenpvh-base2:1.8 phil-wifi-20200421:1.8 bouyer-xenpvh-base1:1.8 phil-wifi-20200411:1.8 bouyer-xenpvh:1.8.0.28 bouyer-xenpvh-base:1.8 is-mlppp:1.8.0.26 is-mlppp-base:1.8 phil-wifi-20200406:1.8 netbsd-8-2-RELEASE:1.8 ad-namecache-base3:1.8 netbsd-9-0-RELEASE:1.8 netbsd-9-0-RC2:1.8 ad-namecache-base2:1.8 ad-namecache-base1:1.8 ad-namecache:1.8.0.24 ad-namecache-base:1.8 netbsd-9-0-RC1:1.8 phil-wifi-20191119:1.8 netbsd-9:1.8.0.22 netbsd-9-base:1.8 phil-wifi-20190609:1.8 netbsd-8-1-RELEASE:1.8 netbsd-8-1-RC1:1.8 isaki-audio2:1.8.0.20 isaki-audio2-base:1.8 pgoyette-compat-merge-20190127:1.8 pgoyette-compat-20190127:1.8 pgoyette-compat-20190118:1.8 pgoyette-compat-1226:1.8 pgoyette-compat-1126:1.8 pgoyette-compat-1020:1.8 pgoyette-compat-0930:1.8 pgoyette-compat-0906:1.8 netbsd-7-2-RELEASE:1.7 pgoyette-compat-0728:1.8 netbsd-8-0-RELEASE:1.8 phil-wifi:1.8.0.18 phil-wifi-base:1.8 pgoyette-compat-0625:1.8 netbsd-8-0-RC2:1.8 pgoyette-compat-0521:1.8 pgoyette-compat-0502:1.8 pgoyette-compat-0422:1.8 netbsd-8-0-RC1:1.8 pgoyette-compat-0415:1.8 pgoyette-compat-0407:1.8 pgoyette-compat-0330:1.8 pgoyette-compat-0322:1.8 pgoyette-compat-0315:1.8 netbsd-7-1-2-RELEASE:1.7 pgoyette-compat:1.8.0.16 pgoyette-compat-base:1.8 netbsd-7-1-1-RELEASE:1.7 tls-maxphys-base-20171202:1.8 matt-nb8-mediatek:1.8.0.14 matt-nb8-mediatek-base:1.8 nick-nhusb-base-20170825:1.8 perseant-stdc-iso10646:1.8.0.12 perseant-stdc-iso10646-base:1.8 netbsd-8:1.8.0.10 netbsd-8-base:1.8 prg-localcount2-base3:1.8 prg-localcount2-base2:1.8 prg-localcount2-base1:1.8 prg-localcount2:1.8.0.8 prg-localcount2-base:1.8 pgoyette-localcount-20170426:1.8 bouyer-socketcan-base1:1.8 jdolecek-ncq:1.8.0.6 jdolecek-ncq-base:1.8 pgoyette-localcount-20170320:1.8 netbsd-7-1:1.7.0.42 netbsd-7-1-RELEASE:1.7 netbsd-7-1-RC2:1.7 nick-nhusb-base-20170204:1.8 netbsd-7-nhusb-base-20170116:1.7 bouyer-socketcan:1.8.0.4 bouyer-socketcan-base:1.8 pgoyette-localcount-20170107:1.8 netbsd-7-1-RC1:1.7 nick-nhusb-base-20161204:1.8 pgoyette-localcount-20161104:1.8 netbsd-7-0-2-RELEASE:1.7 nick-nhusb-base-20161004:1.8 localcount-20160914:1.8 netbsd-7-nhusb:1.7.0.40 netbsd-7-nhusb-base:1.7 pgoyette-localcount-20160806:1.8 pgoyette-localcount-20160726:1.8 pgoyette-localcount:1.8.0.2 pgoyette-localcount-base:1.8 nick-nhusb-base-20160907:1.8 nick-nhusb-base-20160529:1.8 netbsd-7-0-1-RELEASE:1.7 nick-nhusb-base-20160422:1.8 nick-nhusb-base-20160319:1.8 nick-nhusb-base-20151226:1.8 netbsd-7-0:1.7.0.38 netbsd-7-0-RELEASE:1.7 nick-nhusb-base-20150921:1.8 netbsd-7-0-RC3:1.7 netbsd-7-0-RC2:1.7 netbsd-7-0-RC1:1.7 nick-nhusb-base-20150606:1.8 nick-nhusb-base-20150406:1.7 nick-nhusb:1.7.0.36 nick-nhusb-base:1.7 netbsd-5-2-3-RELEASE:1.6 netbsd-5-1-5-RELEASE:1.6 netbsd-6-0-6-RELEASE:1.7 netbsd-6-1-5-RELEASE:1.7 netbsd-7:1.7.0.34 netbsd-7-base:1.7 yamt-pagecache-base9:1.7 yamt-pagecache-tag8:1.7 netbsd-6-1-4-RELEASE:1.7 netbsd-6-0-5-RELEASE:1.7 tls-earlyentropy:1.7.0.32 tls-earlyentropy-base:1.7 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.7 riastradh-drm2-base3:1.7 netbsd-6-1-3-RELEASE:1.7 netbsd-6-0-4-RELEASE:1.7 netbsd-5-2-2-RELEASE:1.6 netbsd-5-1-4-RELEASE:1.6 netbsd-6-1-2-RELEASE:1.7 netbsd-6-0-3-RELEASE:1.7 netbsd-5-2-1-RELEASE:1.6 netbsd-5-1-3-RELEASE:1.6 rmind-smpnet-nbase:1.7 netbsd-6-1-1-RELEASE:1.7 riastradh-drm2-base2:1.7 riastradh-drm2-base1:1.7 riastradh-drm2:1.7.0.30 riastradh-drm2-base:1.7 rmind-smpnet:1.7.0.22 rmind-smpnet-base:1.7 netbsd-6-1:1.7.0.28 netbsd-6-0-2-RELEASE:1.7 netbsd-6-1-RELEASE:1.7 khorben-n900:1.7.0.26 netbsd-6-1-RC4:1.7 netbsd-6-1-RC3:1.7 agc-symver:1.7.0.24 agc-symver-base:1.7 netbsd-6-1-RC2:1.7 netbsd-6-1-RC1:1.7 yamt-pagecache-base8:1.7 netbsd-5-2:1.6.0.82 netbsd-6-0-1-RELEASE:1.7 yamt-pagecache-base7:1.7 netbsd-5-2-RELEASE:1.6 netbsd-5-2-RC1:1.6 matt-nb6-plus-nbase:1.7 yamt-pagecache-base6:1.7 netbsd-6-0:1.7.0.20 netbsd-6-0-RELEASE:1.7 netbsd-6-0-RC2:1.7 tls-maxphys:1.7.0.18 tls-maxphys-base:1.7 matt-nb6-plus:1.7.0.16 matt-nb6-plus-base:1.7 netbsd-6-0-RC1:1.7 jmcneill-usbmp-base10:1.7 yamt-pagecache-base5:1.7 jmcneill-usbmp-base9:1.7 yamt-pagecache-base4:1.7 jmcneill-usbmp-base8:1.7 jmcneill-usbmp-base7:1.7 jmcneill-usbmp-base6:1.7 jmcneill-usbmp-base5:1.7 jmcneill-usbmp-base4:1.7 jmcneill-usbmp-base3:1.7 jmcneill-usbmp-pre-base2:1.7 jmcneill-usbmp-base2:1.7 netbsd-6:1.7.0.14 netbsd-6-base:1.7 netbsd-5-1-2-RELEASE:1.6 netbsd-5-1-1-RELEASE:1.6 jmcneill-usbmp:1.7.0.12 jmcneill-usbmp-base:1.7 jmcneill-audiomp3:1.7.0.10 jmcneill-audiomp3-base:1.7 yamt-pagecache-base3:1.7 yamt-pagecache-base2:1.7 yamt-pagecache:1.7.0.8 yamt-pagecache-base:1.7 rmind-uvmplock-nbase:1.7 cherry-xenmp:1.7.0.6 cherry-xenmp-base:1.7 bouyer-quota2-nbase:1.7 bouyer-quota2:1.7.0.4 bouyer-quota2-base:1.7 jruoho-x86intr:1.7.0.2 jruoho-x86intr-base:1.7 matt-mips64-premerge-20101231:1.7 matt-nb5-mips64-premerge-20101231:1.6 matt-nb5-pq3:1.6.0.80 matt-nb5-pq3-base:1.6 netbsd-5-1:1.6.0.78 netbsd-5-1-RELEASE:1.6 uebayasi-xip-base4:1.7 uebayasi-xip-base3:1.7 yamt-nfs-mp-base11:1.7 netbsd-5-1-RC4:1.6 matt-nb5-mips64-k15:1.6 uebayasi-xip-base2:1.7 yamt-nfs-mp-base10:1.7 netbsd-5-1-RC3:1.6 netbsd-5-1-RC2:1.6 uebayasi-xip-base1:1.6 netbsd-5-1-RC1:1.6 rmind-uvmplock:1.6.0.76 rmind-uvmplock-base:1.7 yamt-nfs-mp-base9:1.6 uebayasi-xip:1.6.0.74 uebayasi-xip-base:1.6 netbsd-5-0-2-RELEASE:1.6 matt-nb5-mips64-premerge-20091211:1.6 matt-premerge-20091211:1.6 yamt-nfs-mp-base8:1.6 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.6 matt-nb4-mips64-k7-u2a-k9b:1.6 matt-nb5-mips64-u1-k1-k5:1.6 yamt-nfs-mp-base7:1.6 matt-nb5-mips64:1.6.0.72 netbsd-5-0-1-RELEASE:1.6 jymxensuspend-base:1.6 yamt-nfs-mp-base6:1.6 yamt-nfs-mp-base5:1.6 yamt-nfs-mp-base4:1.6 jym-xensuspend-nbase:1.6 yamt-nfs-mp-base3:1.6 nick-hppapmap-base4:1.6 nick-hppapmap-base3:1.6 netbsd-5-0:1.6.0.70 netbsd-5-0-RELEASE:1.6 netbsd-5-0-RC4:1.6 netbsd-5-0-RC3:1.6 nick-hppapmap-base2:1.6 netbsd-5-0-RC2:1.6 jym-xensuspend:1.6.0.68 jym-xensuspend-base:1.6 netbsd-5-0-RC1:1.6 haad-dm-base2:1.6 haad-nbase2:1.6 ad-audiomp2:1.6.0.66 ad-audiomp2-base:1.6 netbsd-5:1.6.0.64 netbsd-5-base:1.6 nick-hppapmap:1.6.0.62 nick-hppapmap-base:1.6 matt-mips64-base2:1.6 matt-mips64:1.6.0.60 haad-dm-base1:1.6 wrstuden-revivesa-base-4:1.6 netbsd-4-0-1-RELEASE:1.6 wrstuden-revivesa-base-3:1.6 wrstuden-revivesa-base-2:1.6 wrstuden-fixsa-newbase:1.6 nick-csl-alignment-base5:1.6 haad-dm:1.6.0.58 haad-dm-base:1.6 wrstuden-revivesa-base-1:1.6 simonb-wapbl-nbase:1.6 yamt-pf42-base4:1.6 simonb-wapbl:1.6.0.56 simonb-wapbl-base:1.6 yamt-pf42-base3:1.6 hpcarm-cleanup-nbase:1.6 yamt-pf42-baseX:1.6 yamt-pf42-base2:1.6 yamt-nfs-mp-base2:1.6 wrstuden-revivesa:1.6.0.54 wrstuden-revivesa-base:1.6 yamt-nfs-mp:1.6.0.52 yamt-nfs-mp-base:1.6 yamt-pf42:1.6.0.50 yamt-pf42-base:1.6 ad-socklock-base1:1.6 yamt-lazymbuf-base15:1.6 yamt-lazymbuf-base14:1.6 keiichi-mipv6-nbase:1.6 mjf-devfs2:1.6.0.48 mjf-devfs2-base:1.6 nick-net80211-sync:1.6.0.46 nick-net80211-sync-base:1.6 keiichi-mipv6:1.6.0.44 keiichi-mipv6-base:1.6 bouyer-xeni386-merge1:1.6 matt-armv6-prevmlocking:1.6 wrstuden-fixsa-base-1:1.6 vmlocking2-base3:1.6 netbsd-4-0:1.6.0.42 netbsd-4-0-RELEASE:1.6 bouyer-xeni386-nbase:1.6 yamt-kmem-base3:1.6 cube-autoconf:1.6.0.40 cube-autoconf-base:1.6 yamt-kmem-base2:1.6 bouyer-xeni386:1.6.0.38 bouyer-xeni386-base:1.6 yamt-kmem:1.6.0.36 yamt-kmem-base:1.6 vmlocking2-base2:1.6 reinoud-bufcleanup-nbase:1.6 vmlocking2:1.6.0.34 vmlocking2-base1:1.6 netbsd-4-0-RC5:1.6 matt-nb4-arm:1.6.0.32 matt-nb4-arm-base:1.6 matt-armv6-nbase:1.6 jmcneill-base:1.6 netbsd-4-0-RC4:1.6 mjf-devfs:1.6.0.30 mjf-devfs-base:1.6 bouyer-xenamd64-base2:1.6 vmlocking-nbase:1.6 yamt-x86pmap-base4:1.6 bouyer-xenamd64:1.6.0.28 bouyer-xenamd64-base:1.6 netbsd-4-0-RC3:1.6 yamt-x86pmap-base3:1.6 yamt-x86pmap-base2:1.6 netbsd-4-0-RC2:1.6 yamt-x86pmap:1.6.0.26 yamt-x86pmap-base:1.6 netbsd-4-0-RC1:1.6 matt-armv6:1.6.0.24 matt-armv6-base:1.6 matt-mips64-base:1.6 jmcneill-pm:1.6.0.22 jmcneill-pm-base:1.6 hpcarm-cleanup:1.6.0.20 hpcarm-cleanup-base:1.6 nick-csl-alignment:1.6.0.18 nick-csl-alignment-base:1.6 yamt-idlelwp-base8:1.6 wrstuden-fixsa:1.6.0.16 wrstuden-fixsa-base:1.6 thorpej-atomic:1.6.0.14 thorpej-atomic-base:1.6 reinoud-bufcleanup:1.6.0.12 reinoud-bufcleanup-base:1.6 mjf-ufs-trans:1.6.0.10 mjf-ufs-trans-base:1.6 vmlocking:1.6.0.8 vmlocking-base:1.6 ad-audiomp:1.6.0.6 ad-audiomp-base:1.6 yamt-idlelwp:1.6.0.4 post-newlock2-merge:1.6 newlock2-nbase:1.6 yamt-splraiseipl-base5:1.6 yamt-splraiseipl-base4:1.6 yamt-splraiseipl-base3:1.6 abandoned-netbsd-4-base:1.3 abandoned-netbsd-4:1.3.0.28 yamt-splraiseipl-base2:1.3 yamt-splraiseipl:1.3.0.32 yamt-splraiseipl-base:1.3 yamt-pdpolicy-base9:1.3 newlock2:1.3.0.30 newlock2-base:1.6 yamt-pdpolicy-base8:1.3 yamt-pdpolicy-base7:1.3 netbsd-4:1.6.0.2 netbsd-4-base:1.6 yamt-pdpolicy-base6:1.3 yamt-lazymbuf:1.3.0.26 chap-midi-nbase:1.3 gdamore-uart:1.3.0.24 gdamore-uart-base:1.3 simonb-timcounters-final:1.3 yamt-pdpolicy-base5:1.3 chap-midi:1.3.0.22 chap-midi-base:1.3 yamt-pdpolicy-base4:1.3 yamt-pdpolicy-base3:1.3 peter-altq-base:1.3 peter-altq:1.3.0.20 yamt-pdpolicy-base2:1.3 elad-kernelauth-base:1.3 elad-kernelauth:1.3.0.18 yamt-pdpolicy:1.3.0.16 yamt-pdpolicy-base:1.3 yamt-uio_vmspace-base5:1.3 simonb-timecounters:1.3.0.14 simonb-timecounters-base:1.3 rpaulo-netinet-merge-pcb:1.3.0.12 rpaulo-netinet-merge-pcb-base:1.3 yamt-uio_vmspace:1.3.0.10 yamt-readahead-base3:1.3 yamt-readahead-base2:1.3 yamt-readahead-pervnode:1.3 yamt-readahead-perfile:1.3 yamt-readahead:1.3.0.8 yamt-readahead-base:1.3 ktrace-lwp-base:1.3 ktrace-lwp:1.3.0.6 yamt-vop-base3:1.3 yamt-vop-base2:1.3 thorpej-vnode-attr:1.3.0.4 thorpej-vnode-attr-base:1.3 yamt-vop:1.3.0.2 yamt-vop-base:1.3; locks; strict; comment @# @; 1.8 date 2015.04.20.23.03.08; author riastradh; state Exp; branches; next 1.7; commitid 11voPRqucp8UPniy; 1.7 date 2010.06.22.18.32.07; author rmind; state Exp; branches 1.7.18.1 1.7.36.1; next 1.6; 1.6 date 2006.11.09.15.06.03; author jmmv; state Exp; branches 1.6.52.1 1.6.74.1 1.6.76.1; next 1.5; 1.5 date 2006.11.05.18.03.21; author jmmv; state Exp; branches; next 1.4; 1.4 date 2006.11.05.09.40.26; author jdolecek; state Exp; branches; next 1.3; 1.3 date 2005.09.23.21.39.29; author jmmv; state Exp; branches 1.3.6.1 1.3.26.1 1.3.30.1 1.3.32.1; next 1.2; 1.2 date 2005.09.23.20.46.18; author wiz; state Exp; branches; next 1.1; 1.1 date 2005.09.23.15.36.15; author jmmv; state Exp; branches; next ; 1.7.18.1 date 2017.12.03.11.38.43; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.7.36.1 date 2015.06.06.14.40.21; author skrll; state Exp; branches; next ; commitid O6LVO5i6UulOvnoy; 1.6.52.1 date 2010.08.11.22.54.36; author yamt; state Exp; branches; next ; 1.6.74.1 date 2010.08.17.06.47.21; author uebayasi; state Exp; branches; next ; 1.6.76.1 date 2010.07.03.01.19.51; author rmind; state Exp; branches; next ; 1.3.6.1 date 2005.09.23.21.39.29; author skrll; state dead; branches; next 1.3.6.2; 1.3.6.2 date 2005.11.10.14.09.44; author skrll; state Exp; branches; next ; 1.3.26.1 date 2005.09.23.21.39.29; author yamt; state dead; branches; next 1.3.26.2; 1.3.26.2 date 2006.06.21.15.09.36; author yamt; state Exp; branches; next 1.3.26.3; 1.3.26.3 date 2006.12.30.20.50.01; author yamt; state Exp; branches; next ; 1.3.30.1 date 2006.11.18.21.39.21; author ad; state Exp; branches; next ; 1.3.32.1 date 2006.12.10.07.18.43; author yamt; state Exp; branches; next ; desc @@ 1.8 log @Make VOP_LINK return directory still locked and referenced. Ride 7.99.10 bump. @ text @- Verify that file holes work (they should, but must be checked). Add a regression test for this feature. - Fix and complete code marked with `XXX' and `TODO' tags. - Adjust code style - remove the /* ---- */ markers and use standard struct vop_*_args assignment into *ap with comment like: struct vop_link_v2_args /* { struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; } */ *ap = v; jmmv: I may agree with the removal of the visual lines, but not with the vop_*_args assignment. Those are very ugly and add a lot of redundancy. @ 1.7 log @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@@. @ text @d8 1 a8 1 struct vop_link_args /* { @ 1.7.18.1 log @update from HEAD @ text @d8 1 a8 1 struct vop_link_v2_args /* { @ 1.7.36.1 log @Sync with HEAD @ text @d8 1 a8 1 struct vop_link_v2_args /* { @ 1.6 log @Audit kqueue notifications. The reference behavior is taken from MFS and is represented in the regression tests. @ text @a0 5 - File meta-data is stored using memory pools. These use, at the moment, wired kernel memory, which is not acceptable because it is easy to turn the system unstable by exhausting it. Therefore, a pool allocator that uses anonymous memory has to be written. @ 1.6.74.1 log @Sync with HEAD. @ text @d1 5 @ 1.6.52.1 log @sync with head. @ text @d1 5 @ 1.6.76.1 log @sync with head @ text @d1 5 @ 1.5 log @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. @ text @a20 3 - Check and fix KNOTE_* calls (e.g. missing NOTE_LINK on link(2), perhaps others) @ 1.4 log @add one code style and one knote-related item @ text @a8 6 - NFS support is broken. The readdir operation does not work well; it mostly works when wcc is disabled (which happens as soon as doing a `touch foo' over the NFS mount point). However, files created in the original file system do not appear in the NFS mount point until another file is created over it. d19 3 @ 1.3 log @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. @ text @d16 11 @ 1.3.6.1 log @file TODO was added on branch ktrace-lwp on 2005-11-10 14:09:44 +0000 @ text @d1 15 @ 1.3.6.2 log @Sync with HEAD. Here we go again... @ text @a0 15 - File meta-data is stored using memory pools. These use, at the moment, wired kernel memory, which is not acceptable because it is easy to turn the system unstable by exhausting it. Therefore, a pool allocator that uses anonymous memory has to be written. - Verify that file holes work (they should, but must be checked). Add a regression test for this feature. - NFS support is broken. The readdir operation does not work well; it mostly works when wcc is disabled (which happens as soon as doing a `touch foo' over the NFS mount point). However, files created in the original file system do not appear in the NFS mount point until another file is created over it. - Fix and complete code marked with `XXX' and `TODO' tags. @ 1.3.26.1 log @file TODO was added on branch yamt-lazymbuf on 2006-06-21 15:09:36 +0000 @ text @d1 15 @ 1.3.26.2 log @sync with head. @ text @a0 15 - File meta-data is stored using memory pools. These use, at the moment, wired kernel memory, which is not acceptable because it is easy to turn the system unstable by exhausting it. Therefore, a pool allocator that uses anonymous memory has to be written. - Verify that file holes work (they should, but must be checked). Add a regression test for this feature. - NFS support is broken. The readdir operation does not work well; it mostly works when wcc is disabled (which happens as soon as doing a `touch foo' over the NFS mount point). However, files created in the original file system do not appear in the NFS mount point until another file is created over it. - Fix and complete code marked with `XXX' and `TODO' tags. @ 1.3.26.3 log @sync with head. @ text @d9 6 a15 11 - Adjust code style - remove the /* ---- */ markers and use standard struct vop_*_args assignment into *ap with comment like: struct vop_link_args /* { struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; } */ *ap = v; jmmv: I may agree with the removal of the visual lines, but not with the vop_*_args assignment. Those are very ugly and add a lot of redundancy. @ 1.3.32.1 log @sync with head. @ text @d9 6 a15 11 - Adjust code style - remove the /* ---- */ markers and use standard struct vop_*_args assignment into *ap with comment like: struct vop_link_args /* { struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; } */ *ap = v; jmmv: I may agree with the removal of the visual lines, but not with the vop_*_args assignment. Those are very ugly and add a lot of redundancy. @ 1.3.30.1 log @Sync with head. @ text @d9 6 a15 11 - Adjust code style - remove the /* ---- */ markers and use standard struct vop_*_args assignment into *ap with comment like: struct vop_link_args /* { struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; } */ *ap = v; jmmv: I may agree with the removal of the visual lines, but not with the vop_*_args assignment. Those are very ugly and add a lot of redundancy. @ 1.2 log @Fix typo, add missing parenthesis. @ text @a5 5 - Optimize for speed and memory usage. Nodes are still quite big; their size should be reduced if possible. But most importantly, the algorithm used to resize anonymous memory objects in regular files is extremely inefficient. d9 5 a13 5 - NFS support is broken. The readdir operation does not work until wcc is disabled (which happens as soon as doing a `touch foo' over the NFS mount point). Furthermore, the system crashes if a file is created on the original file system and is read through NFS; the system spits a panic about busy pages. @ 1.1 log @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.) @ text @d8 1 a8 1 used to resize anonoymous memory objects in regular files is extremely d16 1 a16 1 mount point. Furthermore, the system crashes if a file is created on the @