The NetBSD Project

CVS log for src/sys/ufs/ufs/Attic/ufs_ihash.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / ufs / ufs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.31.12.1, Wed Aug 20 00:04:45 2014 UTC (2 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.31: +2 -2 lines
FILE REMOVED

Rebase to HEAD as of a few days ago.

Revision 1.32.2.1, Sun Aug 10 06:56:58 2014 UTC (3 weeks, 3 days ago) by tls
Branch: tls-earlyentropy
Changes since 1.32: +2 -2 lines
FILE REMOVED

Rebase.

Revision 1.31.2.1, Thu May 22 11:41:19 2014 UTC (3 months, 1 week ago) by yamt
Branch: yamt-pagecache
Changes since 1.31: +2 -2 lines
FILE REMOVED

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.31.16.1, Sun May 18 17:46:22 2014 UTC (3 months, 2 weeks ago) by rmind
Branch: rmind-smpnet
Changes since 1.31: +2 -2 lines
FILE REMOVED

sync with head

Revision 1.33, Thu May 8 08:21:53 2014 UTC (3 months, 3 weeks ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, rmind-smpnet-nbase, rmind-smpnet-base, HEAD
Changes since 1.32: +2 -2 lines
FILE REMOVED

Add a global vnode cache:

- vcache_get() retrieves a referenced and initialised vnode / fs node pair.
- vcache_remove() removes a vnode / fs node pair from the cache.

On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to
initialise a vnode / fs node pair.  This call is guaranteed exclusive,
no other thread will try to load this vnode / fs node pair.

Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.

Remove now unused ufs/ufs_ihash

Discussed on tech-kern.

Welcome to 6.99.41

Revision 1.32 / (download) - annotate - [select for diffs], Thu Feb 27 16:51:39 2014 UTC (6 months ago) by hannken
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.31: +5 -3 lines
Diff to previous 1.31 (colored)

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

Revision 1.30.6.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:33 2011 UTC (3 years, 2 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:02 2011 UTC (3 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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-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-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, khorben-n900, 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, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored)

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 1.28.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:33 2011 UTC (3 years, 5 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.28.4.2: +3 -3 lines
Diff to previous 1.28.4.2 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

sync with head

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:48:13 2010 UTC (4 years ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Sync with HEAD.

Revision 1.25.10.2 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:15 2010 UTC (4 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.25.10.1: +4 -4 lines
Diff to previous 1.25.10.1 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)

sync with head.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Jul 21 17:52:14 2010 UTC (4 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored)

Make holding v_interlock mandatory for callers of vget().

Announced some time ago on tech-kern.

Revision 1.28.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:20:05 2010 UTC (4 years, 2 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.28.4.1: +3 -3 lines
Diff to previous 1.28.4.1 (colored) to branchpoint 1.28 (colored)

sync with head

Revision 1.29 / (download) - annotate - [select for diffs], Thu Jul 1 13:00:57 2010 UTC (4 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Remove vlockmgr().  Generic vnode lock operations now use a rwlock located
in the vnode.  All LK_* flags move from sys/lock.h to sys/vnode.h.  Calls
to vlockmgr() in file systems get replaced with VOP_LOCK() or VOP_UNLOCK().

Welcome to 5.99.34.

Discussed on tech-kern.

Revision 1.26.18.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:28:26 2010 UTC (4 years, 4 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

sync to netbsd-5

Revision 1.28.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:16 2010 UTC (4 years, 5 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.26.10.2 / (download) - annotate - [select for diffs], Sun Nov 8 22:49:06 2009 UTC (4 years, 9 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.26.10.1: +2 -11 lines
Diff to previous 1.26.10.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1129):
	sys/kern/vfs_subr.c: revision 1.386
	sys/ufs/ufs/ufs_ihash.c: revision 1.28
getcleanvnode(): don't vclean() the vnode if it has gained another
  reference while we were getting the v_interlock.
vget(): attempt prevent it from returning a clean vnode:
  if the vnode is being inactivated (by vrelel()), wait for
  vrelel() to complete (or return EBUSY if we can't wait), and return
  ENOENT if the vnode has been vclean'ed by vrelel()
Fix kern/41147 in a better way, hopefully fix other related race conditions.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Nov 5 08:18:02 2009 UTC (4 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.27: +2 -11 lines
Diff to previous 1.27 (colored)

getcleanvnode(): don't vclean() the vnode if it has gained another
  reference while we were getting the v_interlock.
vget(): attempt prevent it from returning a clean vnode:
  if the vnode is being inactivated (by vrelel()), wait for
  vrelel() to complete (or return EBUSY if we can't wait), and return
  ENOENT if the vnode has been vclean'ed by vrelel()
Fix kern/41147 in a better way, hopefully fix other related race conditions.

Revision 1.26.10.1 / (download) - annotate - [select for diffs], Mon Sep 28 01:43:02 2009 UTC (4 years, 11 months ago) by snj
Branch: netbsd-5
Changes since 1.26: +11 -2 lines
Diff to previous 1.26 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1029):
	sys/ufs/ufs/ufs_ihash.c: revision 1.27
PR kern/41147: race between nfsd and local rm
Note that the race also exists between 2 nfs client, one of them doing the rm.
In ufs_ihashget(), vget() can return a vnode that has been vclean'ed because
vget() can sleep. After vget returns, check that vp is still connected with
ip, and that ip still points to the inode we want. This fix the NULL
pointer dereference in ufs_fhtovp() I've been seeing on a NFS server.
XXX I have no idea why using vput() instead of
vlockmgr(vp->v_vnlock, LK_RELEASE); vrele(vp); does not work.

Revision 1.27 / (download) - annotate - [select for diffs], Sun Sep 20 14:00:24 2009 UTC (4 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.26: +11 -2 lines
Diff to previous 1.26 (colored)

PR kern/41147: race between nfsd and local rm
Note that the race also exists between 2 nfs client, one of them doing the rm.
In ufs_ihashget(), vget() can return a vnode that has been vclean'ed because
vget() can sleep. After vget returns, check that vp is still connected with
ip, and that ip still points to the inode we want. This fix the NULL
pointer dereference in ufs_fhtovp() I've been seeing on a NFS server.

XXX I have no idea why using vput() instead of
vlockmgr(vp->v_vnlock, LK_RELEASE); vrele(vp); does not work.

Revision 1.25.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:37 2008 UTC (6 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Sync with HEAD.

Revision 1.25.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:56 2008 UTC (6 years, 3 months ago) by yamt
Branch: yamt-pf42
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

sync with head.

Revision 1.25.10.1 / (download) - annotate - [select for diffs], Fri May 16 02:26:01 2008 UTC (6 years, 3 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored)

sync with head.

Revision 1.26 / (download) - annotate - [select for diffs], Mon May 5 17:11:17 2008 UTC (6 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, 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-base2, 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-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, mjf-devfs2-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: netbsd-5, matt-nb5-mips64
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored)

- Convert hashinit() to use kmem_alloc(). The hash tables can be large
  and it's better to not have them in kmem_map.
- Convert a couple of minor items along the way to kmem_alloc().
- Fix some memory leaks.

Revision 1.23.8.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:12 2008 UTC (6 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.23.8.1: +3 -3 lines
Diff to previous 1.23.8.1 (colored) to branchpoint 1.23 (colored) next main 1.24 (colored)

sync with HEAD

Revision 1.23.14.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:32 2008 UTC (6 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.23: +6 -6 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with HEAD.

Revision 1.18.16.5 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:08 2008 UTC (6 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.16.4: +3 -3 lines
Diff to previous 1.18.16.4 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

sync with head.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jan 30 09:50:27 2008 UTC (6 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

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.

Revision 1.18.16.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:16 2008 UTC (6 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.16.3: +5 -5 lines
Diff to previous 1.18.16.3 (colored) to branchpoint 1.18 (colored)

sync with head

Revision 1.23.8.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:35 2008 UTC (6 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (colored)

sync with HEAD

Revision 1.23.20.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:29 2008 UTC (6 years, 8 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:13 2008 UTC (6 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (colored)

Merge vmlocking2 to head.

Revision 1.23.16.2 / (download) - annotate - [select for diffs], Wed Dec 19 00:02:03 2007 UTC (6 years, 8 months ago) by ad
Branch: vmlocking2
Changes since 1.23.16.1: +4 -4 lines
Diff to previous 1.23.16.1 (colored) to branchpoint 1.23 (colored) next main 1.24 (colored)

Get lfs mostly working.

Revision 1.23.16.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:54 2007 UTC (6 years, 9 months ago) by ad
Branch: vmlocking2
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.18.16.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:00 2007 UTC (7 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.16.2: +12 -6 lines
Diff to previous 1.18.16.2 (colored) to branchpoint 1.18 (colored)

sync with head.

Revision 1.22.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:50 2007 UTC (7 years, 1 month ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.22: +10 -6 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Sync with head.

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Sat Jun 9 23:58:20 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.1: +10 -6 lines
Diff to previous 1.22.2.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Mon May 28 23:42:56 2007 UTC (7 years, 3 months ago) by ad
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, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, matt-armv6, bouyer-xeni386
Changes since 1.22: +10 -6 lines
Diff to previous 1.22 (colored)

Fix lock order inversion between vnode locks and ufs_hashlock. Addresses
kern/36331 (MP deadlock between ufs_ihashget() and VOP_LOOKUP()) for ffs,
other file systems to follow. Reported by perseant@, debugged by Sverre
Froyen, patch posted/tested by Blair Sadewitz.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:52 2007 UTC (7 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Pull in the initial set of changes for the vmlocking branch.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 06:01:11 2007 UTC (7 years, 5 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Feb 27 16:11:51 2007 UTC (7 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

Destroy the hash locks on final unmount.

Revision 1.18.16.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:24 2007 UTC (7 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.16.1: +22 -20 lines
Diff to previous 1.18.16.1 (colored) to branchpoint 1.18 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Feb 15 15:40:55 2007 UTC (7 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Changes since 1.20: +22 -20 lines
Diff to previous 1.20 (colored)

Replace some uses of lockmgr() / simplelocks.

Revision 1.18.16.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:39 2006 UTC (8 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18: +11 -18 lines
Diff to previous 1.18 (colored)

sync with head.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:28 2005 UTC (8 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, post-newlock2-merge, peter-altq-base, peter-altq, newlock2-nbase, newlock2-base, newlock2, 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, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

merge ktrace-lwp.

Revision 1.17.2.6 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:39 2005 UTC (8 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.17.2.5: +11 -18 lines
Diff to previous 1.17.2.5 (colored) next main 1.18 (colored)

Sync with HEAD. Here we go again...

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 10 00:18:52 2005 UTC (9 years, 1 month ago) by thorpej
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, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.18: +11 -18 lines
Diff to previous 1.18 (colored)

- Use ANSI function decls.
- Sprinkle some static.

Revision 1.17.2.5 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:22 2004 UTC (9 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.17.2.4: +2 -2 lines
Diff to previous 1.17.2.4 (colored)

Fix the sync with head I botched.

Revision 1.17.2.4 / (download) - annotate - [select for diffs], Sat Sep 18 14:56:59 2004 UTC (9 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.17.2.3: +2 -2 lines
Diff to previous 1.17.2.3 (colored)

Sync with HEAD.

Revision 1.17.2.3 / (download) - annotate - [select for diffs], Tue Aug 24 17:57:56 2004 UTC (10 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.17.2.2: +4 -5 lines
Diff to previous 1.17.2.2 (colored)

Undo part of the ktrace/lwp changes.  In particular:
* Remove the "lwp *" argument that was added to vget().  Turns out
  that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
  and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
  above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
  just to appease the above.

Revision 1.17.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:00 2004 UTC (10 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.17.2.1: +3 -7 lines
Diff to previous 1.17.2.1 (colored)

Sync with HEAD

Revision 1.18 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:45 2003 UTC (11 years ago) by agc
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, 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, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, matt-timespec, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-lazymbuf
Changes since 1.17: +3 -7 lines
Diff to previous 1.17 (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.17.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:27 2003 UTC (11 years, 2 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.17: +5 -4 lines
Diff to previous 1.17 (colored)

Apply the aborted ktrace-lwp changes to a specific branch.  This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it.  This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:47 2003 UTC (11 years, 2 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 29 18:43:47 2003 UTC (11 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.15: +4 -5 lines
Diff to previous 1.15 (colored)

Undo part of the ktrace/lwp changes.  In particular:
* Remove the "lwp *" argument that was added to vget().  Turns out
  that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
  and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
  above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
  just to appease the above.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:28 2003 UTC (11 years, 2 months ago) by darrenr
Branch: MAIN
Changes since 1.14: +5 -4 lines
Diff to previous 1.14 (colored)

Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V

Revision 1.11.6.1 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:22 2002 UTC (12 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.11: +42 -11 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Sync kqueue branch with -current.

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Wed Nov 14 19:19:02 2001 UTC (12 years, 9 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.11.2.1: +4 -2 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Catch up to -current.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:50 2001 UTC (12 years, 9 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Nov 8 02:39:16 2001 UTC (12 years, 9 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, 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, nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, ifpoll, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, fvdl_fs64_base, eeh-devprop-base, eeh-devprop
Changes since 1.13: +4 -1 lines
Diff to previous 1.13 (colored)

add RCSID

Revision 1.13 / (download) - annotate - [select for diffs], Fri Oct 26 05:56:10 2001 UTC (12 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.12: +1 -2 lines
Diff to previous 1.12 (colored)

remove #include <ufs/ufs/quota.h> where it was just to appease
<ufs/ufs/inode.h>, since the latter now includes the former.  leave the former
in source that obviously uses specific bits of it (for completeness.)

Revision 1.11.8.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:33 2001 UTC (12 years, 11 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.11: +39 -10 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Catch up with -current.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:09 2001 UTC (12 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.11: +39 -10 lines
Diff to previous 1.11 (colored)

Catch up to -current.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Sep 15 16:13:06 2001 UTC (12 years, 11 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.11: +39 -10 lines
Diff to previous 1.11 (colored)

add a new VFS op, vfs_reinit, which is called when desiredvnodes is
adjusted via sysctl.  file systems that have hash tables which are
sized based on the value of this variable now resize those hash tables
using the new value.  the max number of FFS softdeps is also recalculated.

convert various file systems to use the <sys/queue.h> macros for
their hash tables.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:06:55 2000 UTC (13 years, 9 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.8.2.1: +3 -2 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Sync with HEAD.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:11:54 2000 UTC (13 years, 9 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.8: +13 -3 lines
Diff to previous 1.8 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.11 / (download) - annotate - [select for diffs], Wed Nov 8 14:28:16 2000 UTC (13 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base, perseant-lfsv2-base, perseant-lfsv2
Branch point for: thorpej-devvp, nathanw_sa, kqueue
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

Update for hashinit() change.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Mar 16 18:26:49 2000 UTC (14 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.9: +10 -1 lines
Diff to previous 1.9 (colored)

Change ufs_init() to keep global count of how many times it was called.
Resources are initialized still just once (on first call).

Add ufs_done(), which takes care of freeing all resources allocated in
ufs_init(). The resources are freed only when last user of the code exits.

Revision 1.8.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:41 1999 UTC (14 years, 8 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Pull up to last week's -current.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:15 1999 UTC (14 years, 9 months ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored)

Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O

Revision 1.8.4.1 / (download) - annotate - [select for diffs], Wed Nov 3 23:40:32 1999 UTC (14 years, 10 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Give ufs_ihashget an extra argument: the flags passed to vget() for
locking. This way we can avoid locking against ourselves when
ufs_ihashget is called during the flushing of metadata. XXX

Also, comment out a VOP_FSYNC call that I think is now unneeded, and
put a diagnostic printf there to check if this still happens.

Revision 1.7.10.1 / (download) - annotate - [select for diffs], Mon Aug 2 22:58:22 1999 UTC (15 years, 1 month ago) by thorpej
Branch: chs-ubc2
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Update from trunk.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jul 8 01:06:07 1999 UTC (15 years, 2 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:37 1998 UTC (16 years, 6 months ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, eeh-paddr_t-base, eeh-paddr_t, chs-ubc-base, chs-ubc
Branch point for: chs-ubc2
Changes since 1.6: +48 -55 lines
Diff to previous 1.6 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:14:07 1998 UTC (16 years, 6 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +52 -55 lines
Diff to previous 1.1.1.1 (colored)

Import 4.4BSD-Lite2

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:10:51 1998 UTC (16 years, 6 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +1 -2 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.6 / (download) - annotate - [select for diffs], Sat Feb 7 02:45:03 1998 UTC (16 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

add flags arg to hashinit(), to pass to malloc().

Revision 1.5 / (download) - annotate - [select for diffs], Tue Jul 15 19:08:18 1997 UTC (17 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, 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, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Give the hash lock a better name, it's not just ffs that uses it.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jul 6 12:43:44 1997 UTC (17 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.3: +5 -2 lines
Diff to previous 1.3 (colored)

Put lock around inode hashing, because getnewvnode or MALLOC might block,
creating race conditions.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Feb 9 22:36:04 1996 UTC (18 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-setroot, netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp, bouyer-scsipi
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

ufs prototype changes

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 29 06:47:26 1994 UTC (20 years, 2 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1, netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.1: +3 -2 lines
Diff to previous 1.1 (colored)

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

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:43:16 1994 UTC (20 years, 3 months ago) by mycroft
Branch: MAIN

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

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 <webmaster@jp.NetBSD.org>