The NetBSD Project

CVS log for src/sys/nfs/nfsnode.h

[BACK] Up to [] / src / sys / nfs

Request diff between arbitrary revisions

Default branch: MAIN
Current tag: MAIN

Revision 1.75 / (download) - annotate - [select for diffs], Sun Jul 18 23:57:15 2021 UTC (2 months ago) by dholland
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, HEAD
Changes since 1.74: +1 -9 lines
Diff to previous 1.74 (colored)

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 1.74 / (download) - annotate - [select for diffs], Thu May 27 08:58:29 2021 UTC (3 months, 3 weeks ago) by simonb
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Changes since 1.73: +1 -2 lines
Diff to previous 1.73 (colored)

Remove nfs_putpages() prototype; it's not defined anywhere.

Revision 1.73 / (download) - annotate - [select for diffs], Fri May 30 08:47:45 2014 UTC (7 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, tls-maxphys-base, tls-earlyentropy-base, thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-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, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, 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, nick-nhusb, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, cjep_staticlib_x-base, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-i2c-spi-conf, cjep_staticlib_x
Changes since 1.72: +1 -3 lines
Diff to previous 1.72 (colored)

Change NFS from rbtree to vcache.

Revision 1.72 / (download) - annotate - [select for diffs], Sat Sep 25 01:42:39 2010 UTC (10 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, khorben-n900, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: tls-maxphys, tls-earlyentropy
Changes since 1.71: +2 -2 lines
Diff to previous 1.71 (colored)

Rename rb.h to rbtree.h, as it is more appropriate (c.f. ptree.h).  Also
helps find code that hasn't been updated to use the new rbtree API.

Revision 1.71 / (download) - annotate - [select for diffs], Sat Mar 14 14:46:11 2009 UTC (12 years, 6 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base10, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.70: +39 -39 lines
Diff to previous 1.70 (colored)

Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.

Revision 1.70 / (download) - annotate - [select for diffs], Fri Jan 2 21:06:11 2009 UTC (12 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.69: +14 -14 lines
Diff to previous 1.69 (colored)

protect sillyrename with _KERNEL

Revision 1.69 / (download) - annotate - [select for diffs], Fri Jan 2 12:57:29 2009 UTC (12 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.68: +3 -2 lines
Diff to previous 1.68 (colored)

- Don't vput() a vnode that we do not hold locked.
- Eliminate one of the few remaining uses of LK_CANRECURSE.

Revision 1.68 / (download) - annotate - [select for diffs], Wed Oct 22 11:36:06 2008 UTC (12 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-0-RC1, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Change NFS to use a RB-tree for its FH->nfsnode lookups.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Jan 25 14:32:16 2008 UTC (13 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-dm-base1, ad-socklock-base1
Branch point for: yamt-nfs-mp, mjf-devfs2, haad-dm
Changes since 1.66: +1 -2 lines
Diff to previous 1.66 (colored)

Remove VOP_LEASE. Discussed on tech-kern.

Revision 1.66 / (download) - annotate - [select for diffs], Fri Aug 10 15:12:57 2007 UTC (14 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, matt-armv6-prevmlocking, matt-armv6-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs, matt-armv6
Changes since 1.65: +7 -4 lines
Diff to previous 1.65 (colored)

- instead of scanning an array of iods, maintain a list of idle iods.
- make nfs_getset_niothreads MP friendly.

Revision 1.65 / (download) - annotate - [select for diffs], Wed Aug 8 12:27:57 2007 UTC (14 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.64: +2 -1 lines
Diff to previous 1.64 (colored)

push kernel_lock a little.

Revision 1.64 / (download) - annotate - [select for diffs], Fri Jul 20 15:36:42 2007 UTC (14 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.63: +6 -5 lines
Diff to previous 1.63 (colored)

- fix decreasing of vfs.nfs.iothreads after the recent partial merge
  of vmlocking.
- don't make nfsiod exit with requests left.
- make NFSSVC_BIOD a dummy so that nfsiod can be simplified.

Revision 1.63 / (download) - annotate - [select for diffs], Sun Apr 29 14:58:21 2007 UTC (14 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.62: +1 -0 lines
Diff to previous 1.62 (colored)

include condvar.h.  pointed by Kurt Schreiner.

Revision 1.62 / (download) - annotate - [select for diffs], Sun Apr 29 10:30:19 2007 UTC (14 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.61: +2 -1 lines
Diff to previous 1.61 (colored)

use mutex and condver.

Revision 1.61 / (download) - annotate - [select for diffs], Thu Feb 15 16:01:51 2007 UTC (14 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking, mjf-ufs-trans
Changes since 1.60: +4 -2 lines
Diff to previous 1.60 (colored)

use mutex and rwlock rather than lockmgr.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Dec 28 00:39:03 2006 UTC (14 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Changes since 1.59: +1 -4 lines
Diff to previous 1.59 (colored)

remove several nqnfs definitions.

Revision 1.59 / (download) - annotate - [select for diffs], Wed Dec 27 12:10:09 2006 UTC (14 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.58: +1 -7 lines
Diff to previous 1.58 (colored)

remove nqnfs.

Revision 1.58 / (download) - annotate - [select for diffs], Tue Oct 17 14:55:13 2006 UTC (14 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored)

another variable should have been _KERNEL only.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Oct 17 14:53:54 2006 UTC (14 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.56: +4 -2 lines
Diff to previous 1.56 (colored)

don't expose kernel variables to userland.

Revision 1.56 / (download) - annotate - [select for diffs], Sun May 14 21:32:21 2006 UTC (15 years, 4 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored)

integrate kauth.

Revision 1.55 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:17 2005 UTC (15 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.54: +1 -1 lines
Diff to previous 1.54 (colored)

merge ktrace-lwp.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Jan 26 10:30:58 2005 UTC (16 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, yamt-km-base4, yamt-km-base3, yamt-km-base2, thorpej-vnode-attr-base, thorpej-vnode-attr, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, ktrace-lwp-base, kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.53: +4 -1 lines
Diff to previous 1.53 (colored)

handle a really empty directory, which doesn't have even the dot entry.

Revision 1.53 / (download) - annotate - [select for diffs], Sun Jan 9 01:32:32 2005 UTC (16 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.52: +3 -2 lines
Diff to previous 1.52 (colored)

invalidate cache if filesize is changed besides our activity
because it means that we're out of sync with the server.

Revision 1.52 / (download) - annotate - [select for diffs], Sat Jan 8 03:12:31 2005 UTC (16 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

nfs_lookup: check n_nctime for positive entries as well to improve
cache consistency.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Dec 14 09:15:23 2004 UTC (16 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.50: +2 -8 lines
Diff to previous 1.50 (colored)

redirect some VOPs which shouldn't be used for nfs
to genfs_badop (ie. panic).

Revision 1.50 / (download) - annotate - [select for diffs], Tue Oct 26 04:34:48 2004 UTC (16 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.49: +5 -4 lines
Diff to previous 1.49 (colored)

since daddr_t is 64-bit these days, simply use nfs directory cookies
as buffer cache indexes.  regress/sys/fs/getdents is now supposed to work.
fix PR/27112.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Sep 15 09:50:56 2004 UTC (17 years ago) by yamt
Branch: MAIN
Changes since 1.48: +6 -2 lines
Diff to previous 1.48 (colored)

fix access-after-free bugs in dircache code by refcounting nfsdircache.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Aug 24 20:09:44 2004 UTC (17 years ago) by yamt
Branch: MAIN
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored)

nfs_request: a workaround for servers doing "maproot".
for i/o requests which are expected not to fail due to permission
to mimic unix file open semantics (READ, WRITE, COMMIT),
try two credentials.  namely, the file owner's one and open time one.
remember which credential worked in per-file basis and try it first
next time to minimize number of retries.
ideas from Chuck Silvers.  PR/23716 and PR/24987.

Revision 1.47 / (download) - annotate - [select for diffs], Thu May 27 12:55:07 2004 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.46: +1 -2 lines
Diff to previous 1.46 (colored)

remove an unused instance of VOP_UPDATE.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Mar 12 16:52:38 2004 UTC (17 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.45: +64 -33 lines
Diff to previous 1.45 (colored)

shrink sizeof struct nfsnode by putting exclusive members into union.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Mar 12 16:52:14 2004 UTC (17 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.44: +3 -1 lines
Diff to previous 1.44 (colored)

introduce a macro NFS_INVALIDATE_ATTRCACHE and use it
instead of "n_attrstamp = 0".

Revision 1.44 / (download) - annotate - [select for diffs], Fri Sep 26 11:51:53 2003 UTC (17 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

change n_mtime from time_t to timespec in order to improve
cache consistency.
(1 second granularity is too loose these days.)

Revision 1.43 / (download) - annotate - [select for diffs], Wed Sep 17 09:10:02 2003 UTC (18 years ago) by yamt
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

change nctime to timespec from time_t.
there can be too many activities in a second.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Aug 7 16:33:56 2003 UTC (18 years, 1 month ago) by agc
Branch: MAIN
Changes since 1.41: +2 -6 lines
Diff to previous 1.41 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jul 30 12:25:39 2003 UTC (18 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.40: +2 -1 lines
Diff to previous 1.40 (colored)

vrecycle removed nfs vnodes.
not perfect, but enough for most cases.

Revision 1.40 / (download) - annotate - [select for diffs], Wed May 7 16:18:54 2003 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

simple lock for nfs iod.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Apr 9 14:24:32 2003 UTC (18 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

update a comment to follow the previous change.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Apr 9 14:22:34 2003 UTC (18 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.37: +7 -3 lines
Diff to previous 1.37 (colored)

make per-iod datas together.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Dec 1 23:02:11 2002 UTC (18 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.36: +2 -1 lines
Diff to previous 1.36 (colored)

Make sure these all agree on the same definitons of various variables.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Oct 23 09:14:52 2002 UTC (18 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge
Changes since 1.35: +2 -1 lines
Diff to previous 1.35 (colored)

merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe

Revision 1.35 / (download) - annotate - [select for diffs], Mon Oct 21 12:52:36 2002 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: kqueue-beforemerge
Changes since 1.34: +3 -2 lines
Diff to previous 1.34 (colored)

fix a page locking deadlock problem for nfs.

add a flag that specify if the file can be truncated safely or not
to nfsm_loadattr and friends.  when it isn't safe, just mark the nfsnode
as "should be truncated later".

ok'ed by Frank van der Linden and Chuck Silvers.
close kern/18036.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:40 2001 UTC (20 years ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf, newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-base, ifpoll-base, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Changes since 1.33: +5 -1 lines
Diff to previous 1.33 (colored)

a whole bunch of changes to improve performance and robustness under load:

 - remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.

Revision 1.33 / (download) - annotate - [select for diffs], Mon May 28 02:50:53 2001 UTC (20 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp, kqueue
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

add a genfs_mmap() and change all of the disk-based filesystems
to implement VOP_MMAP() with the genfs version, in preparation for
actually using this VOP.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Feb 6 11:40:03 2001 UTC (20 years, 7 months ago) by fvdl
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Branch point for: nathanw_sa
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

Do actual vnode locking for NFS.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:51 2000 UTC (20 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.30: +6 -2 lines
Diff to previous 1.30 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Sep 19 22:18:40 2000 UTC (21 years ago) by fvdl
Branch: MAIN
Changes since 1.29: +13 -1 lines
Diff to previous 1.29 (colored)

Add fields to deal with commit ranges.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Mar 30 02:46:36 2000 UTC (21 years, 5 months ago) by simonb
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.28: +1 -2 lines
Diff to previous 1.28 (colored)

Delete redundant decl of nfs_vget() - it's in <nfs/nfsmount.h>.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Nov 29 23:34:01 1999 UTC (21 years, 9 months ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.27: +5 -7 lines
Diff to previous 1.27 (colored)

Insert an extra VOP_ACCESS check in nfs_lookup, to avoid cached access
mishaps for lookup and getattr. Closes PR 8884.

While at it, cache access RPCs.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Aug 10 08:11:13 1998 UTC (23 years, 1 month ago) by matthias
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH001, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base, chs-ubc-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, netbsd-1-4, chs-ubc2, chs-ubc
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
filesystems use it instead of a private version.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Jun 25 22:15:29 1998 UTC (23 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.25: +1 -2 lines
Diff to previous 1.25 (colored)

- Rename nqnfs_vop_lease_check() to genfs_lease_check().  If NFSSERVER is
  not in the kernel, genfs_lease_check() is simply a no-op.  This allows
  LKM'd file systems to be exported (previously did not work properly
  due to a compile-time decision based on -DNFSSERVER).
- defopt NFSSERVER

Revision 1.25 / (download) - annotate - [select for diffs], Sun Mar 1 02:24:29 1998 UTC (23 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.24: +5 -13 lines
Diff to previous 1.24 (colored)

Merge with Lite2 + local changes

Revision 1.24 / (download) - annotate - [select for diffs], Sun Oct 19 01:46:51 1997 UTC (23 years, 11 months ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.23: +28 -25 lines
Diff to previous 1.23 (colored)

* Implement optional 32 <-> 64 bit directory cookie translation. This uses
  the directory cache as translation table. See nfs_subs.c for comments.
  Makes the code a bit more complex to look at than I would have liked,
  but doesn't affect the speed of the default behavior.
* Optimize caching behavior a bit when buffers are invalidated.
* Save some RPCs in readdir operations by not bothering if there is
  a small amount left to do to fill the buffer. It'll be done in the
  next RPC with a larger chunk anyway. Wastes a bit of buffer space
  but is faster.
* Make n_vattr an allocated vattr struct. This avoids nfsnode bloat,
  and is friendlier to the malloc routines.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Oct 16 23:59:34 1997 UTC (23 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Fix the location of the NFS_SMALLFH

Revision 1.22 / (download) - annotate - [select for diffs], Sun Oct 12 23:13:38 1997 UTC (23 years, 11 months ago) by fvdl
Branch: MAIN
CVS Tags: marc-pcmcia-base
Changes since 1.21: +2 -1 lines
Diff to previous 1.21 (colored)

Do negative lookup caching. Use a timestamp of the oldest negative cache
entry, so it can be checked against directory modification time for

Revision 1.21 / (download) - annotate - [select for diffs], Fri Oct 10 01:53:32 1997 UTC (23 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.20: +30 -14 lines
Diff to previous 1.20 (colored)

* New directory entry caching system. Provides full caching of any
  directory cookie that may be thrown back at us from userspace, up
  to a size limit. Fixes double entry problem.
* Split flags for internal and external use in the NFS mount structure.
* Fix some buffer structure fields that weren're being used correctly.
* Fix missing directory cache inval call in nfs_open.
* Limit on NFS_DIRBLKSIZ no longer needed, bumped to the more reasonable
  value of 8k.
* Various other things that I forget, all related to the dir caching
  somehow, though.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Apr 11 21:52:07 1997 UTC (24 years, 5 months ago) by kleink
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
places; by Chris G. Demetriou and myself.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Dec 2 22:55:48 1996 UTC (24 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

NFS performance improvement from Doug Rabson/FreeBSD:

Improve the queuing algorithms used by NFS' asynchronous i/o.  The
existing mechanism uses a global queue for some buffers and the
vp->b_dirtyblkhd queue for others.  This turns sequential writes into
randomly ordered writes to the server, affecting both read and write
performance.  The existing mechanism also copes badly with hung
servers, tending to block accesses to other servers when all the iods
are waiting for a hung server.

The new mechanism uses a queue for each mount point.  All asynchronous
i/o goes through this queue which preserves the ordering of requests.
A simple mechanism ensures that the iods are shared out fairly between
active mount points.

Reviewed/integrated/approved by Frank van der Linden <>

Revision 1.18 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:30 1996 UTC (25 years ago) by mycroft
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Implement poll(2).

Revision 1.17 / (download) - annotate - [select for diffs], Sun Sep 1 23:49:14 1996 UTC (25 years ago) by mycroft
Branch: MAIN
Changes since 1.16: +58 -65 lines
Diff to previous 1.16 (colored)

Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Feb 18 11:54:04 1996 UTC (25 years, 7 months ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.15: +137 -76 lines
Diff to previous 1.15 (colored)

Bring in a merge of Rick Macklem's NFSv3 code from Lite2

Revision 1.15 / (download) - annotate - [select for diffs], Fri Feb 9 21:48:47 1996 UTC (25 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.14: +53 -52 lines
Diff to previous 1.14 (colored)

nfs prototype changes

Revision 1.14 / (download) - annotate - [select for diffs], Sun Mar 26 20:37:32 1995 UTC (26 years, 6 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)


Revision 1.13 / (download) - annotate - [select for diffs], Tue Dec 13 17:17:05 1994 UTC (26 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

Sync with CSRG.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Aug 18 22:48:05 1994 UTC (27 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.11: +4 -6 lines
Diff to previous 1.11 (colored)

More LIST/CIRCLEQ migration.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jun 29 06:42:35 1994 UTC (27 years, 2 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base
Branch point for: netbsd-1-0
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jun 8 11:37:12 1994 UTC (27 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.9: +106 -196 lines
Diff to previous 1.9 (colored)

Update to 4.4-Lite fs code, with local changes.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Apr 25 03:50:23 1994 UTC (27 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Apr 21 23:23:45 1994 UTC (27 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.7: +3 -7 lines
Diff to previous 1.7 (colored)

blow away all vestiges of nfsnode locking.
	(1) it's unnecessary
	(2) it causes machines to hang (yup!)
	(3) it'd be gone in a few days anyway (it'd been yanked out
		of 4.4-Lite by macklem long ago)
It was only there because macklem couldn't originally decide if things
should be locked, or not...

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 15 21:07:15 1994 UTC (27 years, 7 months ago) by pk
Branch: MAIN
Changes since 1.6: +33 -2 lines
Diff to previous 1.6 (colored)

Update {a,m}time vnode attributes on special files a la ufs_vnode.c,
but make it a non-urgent operation, to leave us some performance.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Dec 22 13:00:36 1993 UTC (27 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

change return type of nfs_print back to int

Revision 1.5 / (download) - annotate - [select for diffs], Tue Sep 7 15:41:48 1993 UTC (28 years ago) by ws
Branch: MAIN
CVS Tags: magnum-base
Branch point for: magnum
Changes since 1.4: +4 -2 lines
Diff to previous 1.4 (colored)

Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers

Revision 1.4 / (download) - annotate - [select for diffs], Mon Aug 2 23:12:32 1993 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

Make return type of nfs_print be a void, not an int.

Revision 1.3 / (download) - annotate - [select for diffs], Sat May 22 09:00:56 1993 UTC (28 years, 4 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

add Yuval Yarom's changes (originally for BSD/386) for advisory record
locking on NFS files.  Note that this DOES NOT support network locking,
only local advisory locks.

Revision 1.2 / (download) - annotate - [select for diffs], Thu May 20 03:19:11 1993 UTC (28 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

more rcs id adding and header cleanup.  i like vi macros!

Revision 1.1 / (download) - annotate - [select for diffs], Tue Apr 20 11:20:51 1993 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-8

Restore files lost during crash.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>