The NetBSD Project

CVS log for src/sys/ufs/ufs/ufs_inode.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.92 / (download) - annotate - [select for diffs], Wed Oct 29 01:13:28 2014 UTC (4 weeks ago) by christos
Branch: MAIN
CVS Tags: HEAD
Changes since 1.91: +35 -43 lines
Diff to previous 1.91 (colored)

simplify and correct.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Oct 21 10:39:26 2014 UTC (5 weeks, 1 day ago) by slp
Branch: MAIN
Changes since 1.90: +46 -29 lines
Diff to previous 1.90 (colored)

Move and unify indirect block truncate algorithm into a separate function.

Reviewed by joerg.

Revision 1.88.12.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:45 2014 UTC (3 months, 1 week ago) by tls
Branch: tls-maxphys
Changes since 1.88.12.1: +4 -4 lines
Diff to previous 1.88.12.1 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.89.10.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:58 2014 UTC (3 months, 2 weeks ago) by tls
Branch: tls-earlyentropy
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (colored) next main 1.90 (colored)

Rebase.

Revision 1.88.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:41:19 2014 UTC (6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.88.2.3: +4 -4 lines
Diff to previous 1.88.2.3 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)

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.89.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:22 2014 UTC (6 months, 1 week ago) by rmind
Branch: rmind-smpnet
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (colored) next main 1.90 (colored)

sync with head

Revision 1.90 / (download) - annotate - [select for diffs], Thu May 8 08:21:53 2014 UTC (6 months, 2 weeks ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, rmind-smpnet-nbase, rmind-smpnet-base, netbsd-7-base, netbsd-7
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (colored)

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.88.12.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:18 2013 UTC (21 months ago) by tls
Branch: tls-maxphys
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 (colored)

resync with head

Revision 1.88.2.3 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:35 2013 UTC (22 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.88.2.2: +3 -3 lines
Diff to previous 1.88.2.2 (colored) to branchpoint 1.88 (colored)

sync with head

Revision 1.89 / (download) - annotate - [select for diffs], Tue Jan 22 09:39:18 2013 UTC (22 months ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8, 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, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-earlyentropy, rmind-smpnet
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 (colored)

Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
pollution. Specifically:
   ROOTINO -> UFS_ROOTINO
   WINO -> UFS_WINO
   NXADDR -> UFS_NXADDR
   NDADDR -> UFS_NDADDR
   NIADDR -> UFS_NIADDR
   MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
   MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)

Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.

No functional change intended.

Revision 1.88.2.2 / (download) - annotate - [select for diffs], Fri Feb 17 08:18:56 2012 UTC (2 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.88.2.1: +2 -2 lines
Diff to previous 1.88.2.1 (colored) to branchpoint 1.88 (colored)

byebye PG_HOLE as it turned out to be unnecessary.

Revision 1.88.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:54:00 2011 UTC (3 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.88: +6 -6 lines
Diff to previous 1.88 (colored)

page cache related changes

- maintain object pages in radix tree rather than rb tree.
- reduce unnecessary page scan in putpages.  esp. when an object has a ton of
  pages cached but only a few of them are dirty.
- reduce the number of pmap operations by tracking page dirtiness more
  precisely in uvm layer.
- fix nfs commit range tracking.
- fix nfs write clustering.  XXX hack

Revision 1.88 / (download) - annotate - [select for diffs], Tue Sep 20 14:01:33 2011 UTC (3 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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, 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
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.87: +20 -26 lines
Diff to previous 1.87 (colored)

strengthen the assertions about pages existing during block allocation,
which were incorrectly relaxed last year.  add some comments so that
the intent of these is hopefully clearer.

in ufs_balloc_range(), don't free pages or mark them dirty if
allocating their backing store failed.  this fixes PR 45369.

Revision 1.76.4.5 / (download) - annotate - [select for diffs], Sat Jul 16 00:19:13 2011 UTC (3 years, 4 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.76.4.4: +5 -5 lines
Diff to previous 1.76.4.4 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)

Pull up following revision(s) (requested by manu in ticket #1642):
	sys/ufs/ufs/ufs_inode.c: revision 1.86
Call ufs_extattr_vnode_inactive before UFS_WAPBL_BEGIN, as the latter will
leave the vnode locked, and ufs_extattr_vnode_inactive does lock/unlock

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

Catchup with rmind-uvmplock merge.

Revision 1.87 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:02 2011 UTC (3 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.86: +7 -7 lines
Diff to previous 1.86 (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.83.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:18 2011 UTC (3 years, 5 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.83: +10 -13 lines
Diff to previous 1.83 (colored) next main 1.84 (colored)

Sync with HEAD.

Revision 1.80.2.5 / (download) - annotate - [select for diffs], Tue May 31 03:05:13 2011 UTC (3 years, 5 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.80.2.4: +4 -7 lines
Diff to previous 1.80.2.4 (colored) to branchpoint 1.80 (colored) next main 1.81 (colored)

sync with head

Revision 1.76.4.1.4.2 / (download) - annotate - [select for diffs], Fri May 20 08:11:33 2011 UTC (3 years, 6 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.76.4.1.4.1: +5 -24 lines
Diff to previous 1.76.4.1.4.1 (colored) to branchpoint 1.76.4.1 (colored) next main 1.76.4.2 (colored)

bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).

Revision 1.86 / (download) - annotate - [select for diffs], Thu May 19 03:25:11 2011 UTC (3 years, 6 months ago) by manu
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.85: +5 -5 lines
Diff to previous 1.85 (colored)

Call ufs_extattr_vnode_inactive before UFS_WAPBL_BEGIN, as the latter will
leave the vnode locked, and ufs_extattr_vnode_inactive does lock/unlock

Revision 1.85 / (download) - annotate - [select for diffs], Thu May 19 03:11:59 2011 UTC (3 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.84: +3 -6 lines
Diff to previous 1.84 (colored)

Remove cache_purge(9) calls from reclamation routines in the file systems,
as vclean(9) performs it for us since Lite2 merge.

Revision 1.80.2.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:21 2011 UTC (3 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.80.2.3: +4 -4 lines
Diff to previous 1.80.2.3 (colored) to branchpoint 1.80 (colored)

sync with head

Revision 1.84 / (download) - annotate - [select for diffs], Sun Mar 6 17:08:39 2011 UTC (3 years, 8 months ago) by bouyer
Branch: MAIN
Changes since 1.83: +6 -6 lines
Diff to previous 1.83 (colored)

merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.

Revision 1.80.2.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:34 2011 UTC (3 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.80.2.2: +9 -28 lines
Diff to previous 1.80.2.2 (colored) to branchpoint 1.80 (colored)

sync with head

Revision 1.83.4.2 / (download) - annotate - [select for diffs], Mon Feb 14 15:38:16 2011 UTC (3 years, 9 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.83.4.1: +5 -5 lines
Diff to previous 1.83.4.1 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored)

Update quota in the same WAPBL transaction as we write mode=0 back to inode.

Revision 1.83.4.1 / (download) - annotate - [select for diffs], Thu Jan 20 14:25:03 2011 UTC (3 years, 10 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.83: +4 -4 lines
Diff to previous 1.83 (colored)

Snapshot of work in progress on a modernised disk quota system:
- new quotactl syscall (versionned for backward compat), which takes
  as parameter a path to a mount point, and a prop_dictionary
  (in plistref format) describing commands and arguments.
  For each command, status and data are returned as a prop_dictionary.
  quota commands features will be added to take advantage of this,
  exporting quota data or getting quota commands as plists.

- new on disk-format storage (all 64bit wide), integrated to metadata for
  ffs (and playing nicely with wapbl).
  Quotas are enabled on a ffs filesystem via superblock flags.
  tunefs(8) can enable or disable quotas.
  On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid
  block and inode usages, and will check and update quotas in Pass 6.
  quota usage and limits are stored in unliked files (one for users,
  one for groups)l fsck_ffs(8) will create the files if needed, or
  free them if needed. This means that after enabling or disabling
  quotas on a filesystem; a fsck_ffs(8) run is required.
  quotacheck(8) is not needed any more, on a unclean shutdown
  fsck or journal replay will take care of fixing quotas.
  newfs(8) can create a ready-to-mount quota-enabled filesystem
  (superblock flags are set and quota inodes are created).
  Other new features or semantic changes:
  - default quota datas, applied to users or groups which don't already
    have a quota entry
  - per-user/group grace time (instead of a filesystem global one)
  - 0 really means "nothing allowed at all", not "no limit".
    If you want "no limit", set the limit to UQUAD_MAX (tools will
    understand "unlimited" and "-")

  A quota file is structured as follow:
  it starts with a header, containing a few per-filesystem values,
  and the default quota limits.
  Quota entries are linked together as a simple list, each entry has a
  pointer (as an offset withing the file) to the next.
  The header has a pointer to a list of free quota entries, and
  a hash table of in-use entries. The size of the hash table depends
  on the filesystem block size (header+hash table should fit in the
  first block). The file is not sparse and is a multiple of
  filesystem block size (when the free quota entry list is empty a new
  filesystem block is allocated). quota entries to not cross
  filesystem block boundaries.

  In memory, the kernel keeps a cache of recently used quota entries
  as a reference to the block number, and offset withing the block.
  The quota entry itself is keept in the buf cache.

fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with
related atf tests :)
The kernel can update disk usage and report it via quotactl(2).

Todo: enforce quotas limits (limits are not checked by kernel yet)
      update repquota, edquota and rpc.rquotad to the new world
      implement compat_50_quotactl ioctl.
      update quotactl(2) man page

fsck_ffs required fixes so that allocating new blocks or inodes will
properly update the superblock and cg sumaries. This was not an issue up
to now because superblock and cg sumaries check happened last, but now
allocations or frees can happen in pass 6.

Revision 1.79.2.3 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:56 2010 UTC (4 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.79.2.2: +3 -22 lines
Diff to previous 1.79.2.2 (colored) to branchpoint 1.79 (colored) next main 1.80 (colored)

Sync with HEAD (-D20101022).

Revision 1.75.10.4 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:46 2010 UTC (4 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.10.3: +5 -24 lines
Diff to previous 1.75.10.3 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

sync with head

Revision 1.76.4.1.2.1 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:44 2010 UTC (4 years, 2 months ago) by bouyer
Branch: netbsd-5-0
Changes since 1.76.4.1: +5 -24 lines
Diff to previous 1.76.4.1 (colored) next main 1.76.4.2 (colored)

Pull up following revision(s) (requested by chs in ticket #1448):
	sys/uvm/uvm_pager.h: revision 1.39 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.183 via patch
	sys/ufs/ufs/ufs_inode.c: revision 1.83 via patch
	sys/miscfs/genfs/genfs_io.c: revision 1.40 via patch
	sys/miscfs/genfs/genfs_node.h: revision 1.20 via patch
replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.76.4.4 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:35 2010 UTC (4 years, 2 months ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-5-RELEASE, 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.76.4.3: +5 -24 lines
Diff to previous 1.76.4.3 (colored) to branchpoint 1.76 (colored)

Pull up following revision(s) (requested by chs in ticket #1448):
	sys/uvm/uvm_pager.h: revision 1.39 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.183 via patch
	sys/ufs/ufs/ufs_inode.c: revision 1.83 via patch
	sys/miscfs/genfs/genfs_io.c: revision 1.40 via patch
	sys/miscfs/genfs/genfs_node.h: revision 1.20 via patch
replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.83 / (download) - annotate - [select for diffs], Wed Sep 1 16:56:19 2010 UTC (4 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.82: +5 -24 lines
Diff to previous 1.82 (colored)

replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.79.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:48:13 2010 UTC (4 years, 3 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.79.2.1: +5 -5 lines
Diff to previous 1.79.2.1 (colored) to branchpoint 1.79 (colored)

Sync with HEAD.

Revision 1.75.10.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:15 2010 UTC (4 years, 3 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.10.2: +8 -8 lines
Diff to previous 1.75.10.2 (colored) to branchpoint 1.75 (colored)

sync with head.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Jul 28 11:03:48 2010 UTC (4 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.81: +6 -6 lines
Diff to previous 1.81 (colored)

ext2fs,ffs: free on disk inodes in the reclaim routine.
Remove now unneeded vnode flag VI_FREEING.

Welcome to 5.99.38.

Ok: Andrew Doran <ad@netbsd.org>

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

sync with head

Revision 1.81 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:20 2010 UTC (4 years, 5 months ago) by hannken
Branch: MAIN
Changes since 1.80: +3 -3 lines
Diff to previous 1.80 (colored)

Clean up vnode lock operations pass 2:

VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.

Welcome to 5.99.32.

Discussed on tech-kern.

Revision 1.79.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:37 2010 UTC (4 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored)

Sync with HEAD.

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

sync to netbsd-5

Revision 1.76.4.3 / (download) - annotate - [select for diffs], Sun Mar 28 17:29:41 2010 UTC (4 years, 8 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1
Changes since 1.76.4.2: +3 -3 lines
Diff to previous 1.76.4.2 (colored) to branchpoint 1.76 (colored)

Pull up following revision(s) (requested by hannken in ticket #1345):
	sys/ufs/ufs/ufs_inode.c: revision 1.80
Allow ufs_inactive() while a file system is suspending.  Removes a possible
deadlock between vrele() and ffs_sync() during suspension.

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:16 2010 UTC (4 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.80: +11 -11 lines
Diff to previous 1.80 (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.80 / (download) - annotate - [select for diffs], Mon Mar 15 09:20:10 2010 UTC (4 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored)

Allow ufs_inactive() while a file system is suspending.  Removes a possible
deadlock between vrele() and ffs_sync() during suspension.

Revision 1.75.10.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:46 2010 UTC (4 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.10.1: +5 -5 lines
Diff to previous 1.75.10.1 (colored) to branchpoint 1.75 (colored)

sync with head

Revision 1.76.4.2 / (download) - annotate - [select for diffs], Mon Feb 22 04:43:47 2010 UTC (4 years, 9 months ago) by snj
Branch: netbsd-5
Changes since 1.76.4.1: +5 -5 lines
Diff to previous 1.76.4.1 (colored) to branchpoint 1.76 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1302):
	sys/ufs/ext2fs/ext2fs_inode.c: revision 1.71
	sys/ufs/ffs/ffs_inode.c: revision 1.104
	sys/ufs/lfs/lfs_inode.c: revision 1.121
	sys/ufs/ufs/ufs_inode.c: revision 1.79
- ufs_balloc_range(): on error, only PG_RELEASED the pages that were
  allocated to extend the file to the new size. Releasing all pages
  may release pages that contains previously-written data not yet flushed
  to disk. Should fix PR kern/35704
- {ffs,lfs,ext2fs}_truncate(): Even if the inode's size is the same as
  the new length, call uvm_vnp_setsize(). *_truncate() may have been
  called by *_write() in the error path (e.g. block allocation failure
  because of quota of file system full), and at this point v_writesize
  has been set to the desired size of the file and not reverted to the
  old size. Not adjusting v_writesize to the real size cause
  genfs_do_io() to write to disk past the real end of the file.

Revision 1.79 / (download) - annotate - [select for diffs], Sun Feb 7 17:12:40 2010 UTC (4 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.78: +5 -5 lines
Diff to previous 1.78 (colored)

- ufs_balloc_range(): on error, only PG_RELEASED the pages that were
  allocated to extend the file to the new size. Releasing all pages
  may release pages that contains previously-written data not yet flushed
  to disk. Should fix PR kern/35704
- {ffs,lfs,ext2fs}_truncate(): Even if the inode's size is the same as
  the new length, call uvm_vnp_setsize(). *_truncate() may have been
  called by *_write() in the error path (e.g. block allocation failure
  because of quota of file system full), and at this point v_writesize
  has been set to the desired size of the file and not reverted to the
  old size. Not adjusting v_writesize to the real size cause
  genfs_do_io() to write to disk past the real end of the file.

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:07 2009 UTC (5 years, 6 months ago) by jym
Branch: jym-xensuspend
Changes since 1.77: +2 -13 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.75.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:38 2009 UTC (5 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75: +79 -21 lines
Diff to previous 1.75 (colored)

sync with head.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:40 2009 UTC (5 years, 8 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.76: +28 -20 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Sync with HEAD.

Revision 1.78 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:07 2009 UTC (5 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.77: +2 -13 lines
Diff to previous 1.77 (colored)

PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.

Revision 1.76.4.1 / (download) - annotate - [select for diffs], Sun Feb 8 19:08:23 2009 UTC (5 years, 9 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, 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
Branch point for: netbsd-5-0, matt-nb5-mips64
Changes since 1.76: +28 -9 lines
Diff to previous 1.76 (colored)

Pull up following revision(s) (requested by pooka in ticket #413):
	sys/ufs/ufs/ufs_inode.c: revision 1.77
Break hold-and-wait which happens in ufs_balloc_range() when we
have pages busied and are trying to get the genfs node lock.
This causes a lock order reversal described in PR kern/40389.
This is not a proper fix and only a workaround for NetBSD 5.0.
problem first reported by simonb, patch tested by rmind

Revision 1.77 / (download) - annotate - [select for diffs], Wed Feb 4 21:07:19 2009 UTC (5 years, 9 months ago) by pooka
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.76: +28 -9 lines
Diff to previous 1.76 (colored)

Break hold-and-wait which happens in ufs_balloc_range() when we
have pages busied and are trying to get the genfs node lock.
This causes a lock order reversal described in PR kern/40389.
This is not a proper fix and only a workaround for NetBSD 5.0.

problem first reported by simonb, patch tested by rmind

Revision 1.75.16.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:18:10 2008 UTC (6 years, 1 month ago) by haad
Branch: haad-dm
Changes since 1.75: +53 -3 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

Sync with HEAD.

Revision 1.75.6.1 / (download) - annotate - [select for diffs], Sun Sep 28 10:41:06 2008 UTC (6 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.75: +53 -3 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

Sync with HEAD.

Revision 1.75.12.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:06 2008 UTC (6 years, 2 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.75: +53 -3 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.76 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:06 2008 UTC (6 years, 3 months ago) by simonb
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-0-RC1, mjf-devfs2-base, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.75: +53 -3 lines
Diff to previous 1.75 (colored)

Merge the simonb-wapbl branch.  From the original branch commit:

   Add Wasabi System's WAPBL (Write Ahead Physical Block Logging)
   journaling code.  Originally written by Darrin B. Jewell while
   at Wasabi and updated to -current by Antti Kantee, Andy Doran,
   Greg Oster and Simon Burge.

OK'd by core@, releng@.

Revision 1.75.14.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:23 2008 UTC (6 years, 5 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.75: +53 -3 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block
Logging) journaling code.  Originally written by Darrin B. Jewell
while at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

Still a number of issues - look in doc/BRANCHES for "simonb-wapbl"
for more info.

Revision 1.67.8.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:13 2008 UTC (6 years, 8 months ago) by matt
Branch: matt-armv6
Changes since 1.67.8.2: +13 -11 lines
Diff to previous 1.67.8.2 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

sync with HEAD

Revision 1.69.4.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:32 2008 UTC (6 years, 9 months ago) by mjf
Branch: mjf-devfs
Changes since 1.69.4.2: +19 -25 lines
Diff to previous 1.69.4.2 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

Sync with HEAD.

Revision 1.47.8.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:16 2008 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.6: +20 -26 lines
Diff to previous 1.47.8.6 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

sync with head

Revision 1.71.4.4 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:46 2008 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.71.4.3: +0 -3 lines
Diff to previous 1.71.4.3 (colored) to branchpoint 1.71 (colored) next main 1.72 (colored)

Sync with HEAD

Revision 1.75 / (download) - annotate - [select for diffs], Thu Jan 17 10:39:15 2008 UTC (6 years, 10 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-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, 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, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-nfs-mp, wrstuden-revivesa, simonb-wapbl, mjf-devfs2, haad-dm
Changes since 1.74: +2 -5 lines
Diff to previous 1.74 (colored)

Fix dodgy tests of v_usecount.

Revision 1.71.4.3 / (download) - annotate - [select for diffs], Thu Jan 10 23:44:44 2008 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.71.4.2: +11 -6 lines
Diff to previous 1.71.4.2 (colored) to branchpoint 1.71 (colored)

Sync with HEAD

Revision 1.74 / (download) - annotate - [select for diffs], Wed Jan 9 16:15:24 2008 UTC (6 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.73: +13 -8 lines
Diff to previous 1.73 (colored)

Go back to freeing on disk inodes in the inactive routine. It would be
better not to do this, but it rules out potential side effects with softdep.

Revision 1.67.8.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:35 2008 UTC (6 years, 10 months ago) by matt
Branch: matt-armv6
Changes since 1.67.8.1: +26 -34 lines
Diff to previous 1.67.8.1 (colored) to branchpoint 1.67 (colored)

sync with HEAD

Revision 1.71.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:12:05 2008 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.71.4.1: +1 -1 lines
Diff to previous 1.71.4.1 (colored) to branchpoint 1.71 (colored)

Sync with HEAD

Revision 1.73 / (download) - annotate - [select for diffs], Thu Jan 3 02:23:27 2008 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored)

make the UFS_EXTATTR case build

Revision 1.71.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:29 2008 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.71: +23 -31 lines
Diff to previous 1.71 (colored)

Sync with HEAD

Revision 1.72 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:14 2008 UTC (6 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.71: +23 -31 lines
Diff to previous 1.71 (colored)

Merge vmlocking2 to head.

Revision 1.70.2.3 / (download) - annotate - [select for diffs], Sun Dec 30 00:50:11 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking2
Changes since 1.70.2.2: +2 -10 lines
Diff to previous 1.70.2.2 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored)

Fix remaining problems with ext2fs on this branch.

Revision 1.69.4.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:46:51 2007 UTC (6 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.69.4.1: +3 -3 lines
Diff to previous 1.69.4.1 (colored) to branchpoint 1.69 (colored)

Sync with HEAD.

Revision 1.70.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:40:03 2007 UTC (6 years, 11 months ago) by ad
Branch: vmlocking2
Changes since 1.70.2.1: +3 -4 lines
Diff to previous 1.70.2.1 (colored) to branchpoint 1.70 (colored)

Sync with head.

Revision 1.67.6.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:55 2007 UTC (6 years, 11 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.67.6.3: +3 -3 lines
Diff to previous 1.67.6.3 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

Sync with HEAD.

Revision 1.71 / (download) - annotate - [select for diffs], Sat Dec 8 19:29:56 2007 UTC (6 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

Remove cn_lwp from struct componentname.  curlwp should be used
from on.  The NDINIT() macro no longer takes the lwp parameter and
associates the credentials of the calling thread with the namei
structure.

Revision 1.69.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:43 2007 UTC (6 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.69: +4 -4 lines
Diff to previous 1.69 (colored)

Sync with HEAD.

Revision 1.47.8.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:24 2007 UTC (6 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.5: +4 -4 lines
Diff to previous 1.47.8.5 (colored) to branchpoint 1.47 (colored)

sync with head

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

Pull the vmlocking changes into a new branch.

Revision 1.67.6.3 / (download) - annotate - [select for diffs], Tue Nov 27 19:39:29 2007 UTC (7 years ago) by joerg
Branch: jmcneill-pm
Changes since 1.67.6.2: +4 -4 lines
Diff to previous 1.67.6.2 (colored) to branchpoint 1.67 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.70 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:34 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base
Branch point for: vmlocking2
Changes since 1.69: +4 -4 lines
Diff to previous 1.69 (colored)

Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern

Revision 1.67.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:23 2007 UTC (7 years ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.67: +13 -7 lines
Diff to previous 1.67 (colored)

sync with HEAD

Revision 1.47.8.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:51 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.4: +13 -7 lines
Diff to previous 1.47.8.4 (colored) to branchpoint 1.47 (colored)

sync with head.

Revision 1.67.6.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:38 2007 UTC (7 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.67.6.1: +3 -3 lines
Diff to previous 1.67.6.1 (colored) to branchpoint 1.67 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.64.6.9 / (download) - annotate - [select for diffs], Fri Oct 19 19:33:50 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.64.6.8: +6 -7 lines
Diff to previous 1.64.6.8 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

ufs_reclaim: leave the inode on the hash chain until we have updated both
the free map and the on disk inode. At this point the about-to-be-dead
vnode has VI_XLOCK set. Toegether these prevent the on-disk inode from
being reused until we are completely finished with it.

Revision 1.67.10.2 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:22 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-x86pmap
Changes since 1.67.10.1: +3 -3 lines
Diff to previous 1.67.10.1 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

sync with head.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:40 2007 UTC (7 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Merge from vmlocking:

- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.

Revision 1.64.6.8 / (download) - annotate - [select for diffs], Tue Oct 9 13:45:16 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.64.6.7: +12 -6 lines
Diff to previous 1.64.6.7 (colored) to branchpoint 1.64 (colored)

Sync with head.

Revision 1.64.6.7 / (download) - annotate - [select for diffs], Mon Oct 8 20:31:54 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.64.6.6: +9 -6 lines
Diff to previous 1.64.6.6 (colored) to branchpoint 1.64 (colored)

If an inode is being made inactive and the file has being deleted,
defer updating the on-disk inode until ufs_reclaim.

Revision 1.67.10.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:43:46 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-x86pmap
Changes since 1.67: +12 -6 lines
Diff to previous 1.67 (colored)

sync with head.

Revision 1.67.6.1 / (download) - annotate - [select for diffs], Tue Oct 2 18:29:32 2007 UTC (7 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.67: +12 -6 lines
Diff to previous 1.67 (colored)

Sync with HEAD.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Sep 25 15:13:14 2007 UTC (7 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2
Changes since 1.67: +12 -6 lines
Diff to previous 1.67 (colored)

avoid variable size stack allocations

Revision 1.64.6.6 / (download) - annotate - [select for diffs], Sun Sep 16 19:02:49 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.64.6.5: +15 -16 lines
Diff to previous 1.64.6.5 (colored) to branchpoint 1.64 (colored)

- Checkpoint work in progress on the vnode lifecycle and reference counting
  stuff. This makes it work properly without kernel_lock and fixes a few
  quite old bugs. See vfs_subr.c 1.283.2.17 for details.

- Fix some problems with softdep. Unfortunately our softdep code appears
  to have some longstanding bugs that cause it fail under stress test.

Revision 1.47.8.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:00 2007 UTC (7 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.3: +6 -24 lines
Diff to previous 1.47.8.3 (colored) to branchpoint 1.47 (colored)

sync with head.

Revision 1.64.6.5 / (download) - annotate - [select for diffs], Sun Jul 15 13:28:20 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.64.6.4: +4 -14 lines
Diff to previous 1.64.6.4 (colored) to branchpoint 1.64 (colored)

Sync with head.

Revision 1.64.8.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:50 2007 UTC (7 years, 4 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.64: +6 -24 lines
Diff to previous 1.64 (colored) next main 1.65 (colored)

Sync with head.

Revision 1.67 / (download) - annotate - [select for diffs], Tue Jul 10 09:50:09 2007 UTC (7 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-armv6, jmcneill-pm
Changes since 1.66: +4 -14 lines
Diff to previous 1.66 (colored)

Move `struct dquot' and its supporting functions from quota.h to ufs_quota.c.

- Make quota-internal functions static.
- Clean up declarations in quota.h and ufs_extern.h.  quota.h now has the
  description of quota criterions, on-disk structure, user-kernel interface and
  declaration of init/done functions.  All ufs quota related function
  prototypes go to ufs_extern.h.
- New functions ufsquota_init() and ufsquota_free() create or destroy the
  quota fields of `struct inode'.
- chkdq() and chkiq() always update the quota fields of `struct inode' first.
- Only ufs_access() explicitely calls getinoquota().

No objections on tech-kern@

Revision 1.64.6.4 / (download) - annotate - [select for diffs], Sun Jun 17 21:32:17 2007 UTC (7 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.64.6.3: +3 -3 lines
Diff to previous 1.64.6.3 (colored) to branchpoint 1.64 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.64.6.3 / (download) - annotate - [select for diffs], Fri Jun 8 14:18:19 2007 UTC (7 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.64.6.2: +3 -4 lines
Diff to previous 1.64.6.2 (colored) to branchpoint 1.64 (colored)

Sync with head.

Revision 1.64.2.2 / (download) - annotate - [select for diffs], Thu May 17 13:42:00 2007 UTC (7 years, 6 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.64.2.1: +3 -4 lines
Diff to previous 1.64.2.1 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

sync with head.

Revision 1.66 / (download) - annotate - [select for diffs], Thu May 17 07:26:22 2007 UTC (7 years, 6 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.65: +3 -4 lines
Diff to previous 1.65 (colored)

Fstrans_start() always returns zero, so change its type to void.

Revision 1.64.2.1 / (download) - annotate - [select for diffs], Sun Apr 15 16:04:08 2007 UTC (7 years, 7 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.64: +3 -10 lines
Diff to previous 1.64 (colored)

sync with head.

Revision 1.64.6.2 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:55 2007 UTC (7 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.64.6.1: +3 -10 lines
Diff to previous 1.64.6.1 (colored) to branchpoint 1.64 (colored)

Sync with head.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Apr 7 14:21:52 2007 UTC (7 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic
Changes since 1.64: +3 -10 lines
Diff to previous 1.64 (colored)

Remove calls to now obsolete vn_start_write() and vn_finished_write().

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

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

Revision 1.47.8.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:24 2007 UTC (7 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.2: +8 -3 lines
Diff to previous 1.47.8.2 (colored) to branchpoint 1.47 (colored)

sync with head.

Revision 1.59.8.2 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:51 2007 UTC (7 years, 9 months ago) by ad
Branch: newlock2
Changes since 1.59.8.1: +8 -3 lines
Diff to previous 1.59.8.1 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored)

Sync with head.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Jan 29 15:42:50 2007 UTC (7 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: reinoud-bufcleanup, post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking, mjf-ufs-trans
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

Change fstrans enum types to upper case.
No functional change.

From Antti Kantee <pooka@netbsd.org>

Revision 1.63 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:13 2007 UTC (7 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.62: +8 -3 lines
Diff to previous 1.62 (colored)

New file system suspension API to replace vn_start_write and vn_finished_write.
The suspension helpers are now put into file system specific operations.
This means every file system not supporting these helpers cannot be suspended
and therefore snapshots are no longer possible.

Implemented for file systems of type ffs.

The new API is enabled on a kernel option NEWVNGATE.  This option is
not enabled by default in any kernel config.

Presented and discussed on tech-kern with much input from
Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>.

Welcome to 4.99.9 (new vfs op vfs_suspendctl).

Revision 1.47.8.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:01 2006 UTC (7 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.47.8.1: +4 -5 lines
Diff to previous 1.47.8.1 (colored) to branchpoint 1.47 (colored)

sync with head.

Revision 1.59.10.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:33 2006 UTC (7 years, 11 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.59.10.1: +3 -3 lines
Diff to previous 1.59.10.1 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored)

sync with head.

Revision 1.59.8.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:49 2006 UTC (8 years ago) by ad
Branch: newlock2
Changes since 1.59: +4 -5 lines
Diff to previous 1.59 (colored)

Sync with head.

Revision 1.62 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:53 2006 UTC (8 years ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, 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.61: +3 -3 lines
Diff to previous 1.61 (colored)

__unused removal on arguments; approved by core.

Revision 1.59.10.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:51 2006 UTC (8 years, 1 month ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.59: +5 -6 lines
Diff to previous 1.59 (colored)

sync with head

Revision 1.61 / (download) - annotate - [select for diffs], Sat Oct 14 09:17:26 2006 UTC (8 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.60: +4 -5 lines
Diff to previous 1.60 (colored)

don't use g_glock directly.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:52 2006 UTC (8 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.57.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:13 2006 UTC (8 years, 2 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.57: +10 -19 lines
Diff to previous 1.57 (colored) next main 1.58 (colored)

sync with head

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

sync with head.

Revision 1.57.6.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:39:44 2006 UTC (8 years, 5 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.57.6.1: +4 -3 lines
Diff to previous 1.57.6.1 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

Sync with head.

Revision 1.57.12.2 / (download) - annotate - [select for diffs], Wed May 24 15:50:48 2006 UTC (8 years, 6 months ago) by tron
Branch: peter-altq
Changes since 1.57.12.1: +2 -1 lines
Diff to previous 1.57.12.1 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.57.8.2 / (download) - annotate - [select for diffs], Wed May 24 10:59:26 2006 UTC (8 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.57.8.1: +4 -3 lines
Diff to previous 1.57.8.1 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

sync with head.

Revision 1.59 / (download) - annotate - [select for diffs], Sun May 14 21:33:39 2006 UTC (8 years, 6 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.58: +2 -1 lines
Diff to previous 1.58 (colored)

integrate kauth.

Revision 1.57.10.3 / (download) - annotate - [select for diffs], Sat May 6 23:32:58 2006 UTC (8 years, 6 months ago) by christos
Branch: elad-kernelauth
Changes since 1.57.10.2: +3 -2 lines
Diff to previous 1.57.10.2 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

- Move kauth_cred_t declaration to <sys/types.h>
- Cleanup struct ucred; forward declarations that are unused.
- Don't include <sys/kauth.h> in any header, but include it in the c files
  that need it.

Approved by core.

Revision 1.57.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:27 2006 UTC (8 years, 7 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.57: +8 -18 lines
Diff to previous 1.57 (colored)

Sync with head.

Revision 1.57.10.2 / (download) - annotate - [select for diffs], Wed Apr 19 03:54:14 2006 UTC (8 years, 7 months ago) by elad
Branch: elad-kernelauth
Changes since 1.57.10.1: +8 -18 lines
Diff to previous 1.57.10.1 (colored) to branchpoint 1.57 (colored)

sync with head.

Revision 1.57.8.1 / (download) - annotate - [select for diffs], Sat Apr 1 12:07:57 2006 UTC (8 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.57: +8 -18 lines
Diff to previous 1.57 (colored)

sync with head.

Revision 1.57.12.1 / (download) - annotate - [select for diffs], Fri Mar 31 09:45:29 2006 UTC (8 years, 7 months ago) by tron
Branch: peter-altq
Changes since 1.57: +8 -18 lines
Diff to previous 1.57 (colored)

Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.

Revision 1.58 / (download) - annotate - [select for diffs], Thu Mar 30 12:40:06 2006 UTC (8 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3, elad-kernelauth-base
Changes since 1.57: +8 -18 lines
Diff to previous 1.57 (colored)

some cleanups after the introduction of GOP_SIZE_MEM flag.
- remove GOP_SIZE_READ/GOP_SIZE_WRITE flags.
  they have not been used since the change.
- ufs_balloc_range: remove code which has been no-op since the change.
  thanks Konrad Schroder for explaining the original intention of the code.
- ffs_gop_size: don't extend past eof, in the case of GOP_SIZE_MEM.
  otherwise genfs_getpages end up to allocate pages past eof unnecessarily.

Revision 1.57.10.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:39:12 2006 UTC (8 years, 8 months ago) by elad
Branch: elad-kernelauth
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

Adapt to kernel authorization KPI.

Revision 1.57 / (download) - annotate - [select for diffs], Fri Dec 23 23:20:00 2005 UTC (8 years, 11 months ago) by rpaulo
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

Convert UFS_EXTATTR to struct lwp.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Dec 23 15:31:40 2005 UTC (8 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.55: +5 -2 lines
Diff to previous 1.55 (colored)

prevent in-core vnode being freed from getting new references.
otherwise, once the corresponding bit in the inode bitmap is cleared,
an unrelated inode with the same inode number can be allocated and
ufs_ihashget() picks a stale in-core vnode for it.

PR/32301 by Matthias Scheler.

Revision 1.55 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:28 2005 UTC (8 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.54: +7 -7 lines
Diff to previous 1.54 (colored)

merge ktrace-lwp.

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

Sync with HEAD. Here we go again...

Revision 1.54 / (download) - annotate - [select for diffs], Wed Nov 2 12:39:14 2005 UTC (9 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Changes since 1.53: +6 -6 lines
Diff to previous 1.53 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 03:00:31 2005 UTC (9 years, 1 month ago) by yamt
Branch: yamt-vop
Changes since 1.53: +6 -6 lines
Diff to previous 1.53 (colored) next main 1.54 (colored)

adapt ufs.

Revision 1.47.6.2 / (download) - annotate - [select for diffs], Tue Oct 4 22:05:12 2005 UTC (9 years, 1 month ago) by tron
Branch: netbsd-3
CVS Tags: 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
Changes since 1.47.6.1: +5 -3 lines
Diff to previous 1.47.6.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Pull up following revision(s) (requested by yamt in ticket #848):
	sys/ufs/ufs/ufs_inode.c: revision 1.53
ufs_balloc_range: correct range to clear PG_RDONLY.
fix a panic in ubc_fault.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Sep 14 10:33:25 2005 UTC (9 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-vop
Changes since 1.52: +5 -3 lines
Diff to previous 1.52 (colored)

ufs_balloc_range: correct range to clear PG_RDONLY.
fix a panic in ubc_fault.

Revision 1.52 / (download) - annotate - [select for diffs], Sun Aug 28 19:37:59 2005 UTC (9 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.51: +8 -2 lines
Diff to previous 1.51 (colored)

Experimental support for extended attributes on UFS1 file systems, using a
backing file per attribute type indexed by inode number to hold the extended
attributes.

This is working pretty well on my test systems, except for the "autostart"
feature.  I need someone with a better handle on the VFS locking protocol
to go over that.

This is a work-in-progress.  There are parts of this that could be re-factored
allowing this approach to be used on other types of file systems.

Adapted from FreeBSD.

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Wed Aug 24 18:43:38 2005 UTC (9 years, 3 months ago) by riz
Branch: netbsd-3
Changes since 1.47: +7 -4 lines
Diff to previous 1.47 (colored)

Pull up following revision(s) (requested by yamt in ticket #688):
	sys/miscfs/genfs/genfs_vnops.c: revision 1.98 via patch
	sys/ufs/ffs/ffs_vfsops.c: revision 1.165
	sys/ufs/lfs/lfs_extern.h: revision 1.69
	sys/fs/filecorefs/filecore_vfsops.c: revision 1.20
	sys/nfs/nfs_node.c: revision 1.80
	sys/fs/smbfs/smbfs_node.c: revision 1.24
	sys/fs/cd9660/cd9660_vfsops.c: revision 1.24
	sys/fs/msdosfs/msdosfs_denode.c: revision 1.8
	sys/miscfs/genfs/genfs_node.h: revision 1.6
	sys/ufs/lfs/lfs_vfsops.c: revision 1.183
	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.86
	sys/fs/adosfs/advfsops.c: revision 1.23
	sys/fs/ntfs/ntfs_vfsops.c: revision 1.31
- constify genfs_ops.
- use member designators.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.99 via patch
genfs_getpages: don't forget to put the vnode onto the syncer's work que
ue
even in the case of PGO_LOCKED.

        sys/uvm/uvm_bio.c: revision 1.40
        sys/uvm/uvm_pager.h: revision 1.29
        sys/miscfs/genfs/genfs_vnops.c: revision 1.100 via patch
        sys/ufs/ufs/ufs_inode.c: revision 1.50
- introduce PGO_NOBLOCKALLOC and use it for ubc mapping
  to prevent unnecessary block allocations in the case that
  page size > block size.
- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
  VM_PROT_READ.

        sys/uvm/uvm_fault.c: revision 1.96
        sys/miscfs/genfs/genfs_vnops.c: revision 1.101 via patch
        sys/uvm/uvm_object.h: revision 1.19
        sys/miscfs/genfs/genfs_node.h: revision 1.7
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
  setting "wasclean" false when encountering them.
  suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if
  we're going to take the vnode off the syncer's queue.
  uvm_fault: don't write-map pages unless its vnode is already on
  the syncer's queue.
  fix PR/24596 (3) but in the different way from the suggested fix.
  (to keep our current behaviour, ie. not to require explicit msync.
  discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue
  by introducing a generation number in genfs_node.
  genfs_getpages: increment the generation number.
  suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.102 via patch
genfs_putpages: don't bother to clean the vnode unless VONWORKLST.

        sys/ufs/ffs/ffs_vnops.c: revision 1.71
ffs_full_fsync: because VBLK/VCHR can be mmap'ed,
do VOP_PUTPAGES for them as well.

        sys/uvm/uvm_fault.c: revision 1.97
uvm_fault: check a correct object in the case of layered filesystems.
fix PR/30811 from Jukka Salmi.

        sys/uvm/uvm_object.h: revision 1.20
        sys/ufs/ffs/ffs_vfsops.c: revision 1.167
        sys/uvm/uvm_bio.c: revision 1.41
        sys/ufs/ufs/ufs_vnops.c: revision 1.129
        sys/uvm/uvm_mmap.c: revision 1.92
        sys/uvm/uvm_fault.c: revision 1.98
        sys/kern/vfs_subr.c: revision 1.252
        sys/fs/msdosfs/denode.h: revision 1.5
        sys/miscfs/genfs/genfs_vnops.c: revision 1.103 via patch
        sys/fs/msdosfs/msdosfs_denode.c: revision 1.9
        sys/sys/vnode.h: revision 1.141
        sys/ufs/ufs/ufs_inode.c: revision 1.51
        sys/ufs/ufs/ufs_extern.h: revision 1.45 via patch
        sys/miscfs/genfs/genfs_node.h: revision 1.8
        sys/ufs/lfs/lfs_vfsops.c: revision 1.184
        sys/uvm/uvm_pager.h: revision 1.30
        sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.87
update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.104 via patch
don't write-protect wired pages.  pointed by Chuck Silvers.
for now, leave a vnode on the syncer's queue, as suggested by him.

        sys/ufs/ffs/ffs_vnops.c: revision 1.72
revert VCHR part of ffs_vnops.c 1.71.
as VCHR uses the device pager, no point to call VOP_PUTPAGES here.
pointed by Chuck Silvers.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Jul 23 12:18:41 2005 UTC (9 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.50: +4 -3 lines
Diff to previous 1.50 (colored)

update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

Revision 1.50 / (download) - annotate - [select for diffs], Sun Jul 17 09:13:35 2005 UTC (9 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.49: +6 -4 lines
Diff to previous 1.49 (colored)

- introduce PGO_NOBLOCKALLOC and use it for ubc mapping
  to prevent unnecessary block allocations in the case that
  page size > block size.

- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
  VM_PROT_READ.

Revision 1.49 / (download) - annotate - [select for diffs], Sun Jul 10 01:08:52 2005 UTC (9 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.48: +3 -2 lines
Diff to previous 1.48 (colored)

Defflag UFS_DIRHASH.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Jul 10 00:18:52 2005 UTC (9 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.47: +6 -12 lines
Diff to previous 1.47 (colored)

- Use ANSI function decls.
- Sprinkle some static.

Revision 1.46.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:39 2005 UTC (9 years, 7 months ago) by kent
Branch: kent-audio2
Changes since 1.46: +9 -2 lines
Diff to previous 1.46 (colored) next main 1.47 (colored)

sync with -current

Revision 1.39.2.8 / (download) - annotate - [select for diffs], Mon Jan 24 08:36:05 2005 UTC (9 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.7: +9 -2 lines
Diff to previous 1.39.2.7 (colored)

Sync with HEAD.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Jan 23 19:37:05 2005 UTC (9 years, 10 months ago) by rumble
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, matt-timespec, kent-audio2-base
Branch point for: yamt-lazymbuf, netbsd-3
Changes since 1.46: +9 -2 lines
Diff to previous 1.46 (colored)

Bring in Ian Dowse's Dirhash from FreeBSD. Hash tables of
directories are created on the fly and used to increase
performance by circumventing ufs_lookup's linear search.

Dirhash is enabled by the UFS_DIRHASH option, but not
by default.

Revision 1.39.2.7 / (download) - annotate - [select for diffs], Mon Jan 17 19:33:11 2005 UTC (9 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.6: +4 -2 lines
Diff to previous 1.39.2.6 (colored)

Sync with HEAD.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Dec 20 03:12:20 2004 UTC (9 years, 11 months ago) by dbj
Branch: MAIN
CVS Tags: kent-audio1-beforemerge
Branch point for: kent-audio2
Changes since 1.45: +4 -2 lines
Diff to previous 1.45 (colored)

use #if defined(_KERNEL_OPT) around opt includes
fix arg to pool_init() when _LKM is defined

Revision 1.39.2.6 / (download) - annotate - [select for diffs], Tue Oct 19 15:58:30 2004 UTC (10 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.5: +7 -11 lines
Diff to previous 1.39.2.5 (colored)

Sync with HEAD

Revision 1.45 / (download) - annotate - [select for diffs], Fri Oct 8 18:43:50 2004 UTC (10 years, 1 month ago) by dbj
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.44: +7 -11 lines
Diff to previous 1.44 (colored)

remove diagnostic check for modified inactive inodes in ufs_reclaim
this condition can occur if ufs_inactive experiences failure attempting
to write the inode out.  Instead, have ufs_reclaim always call VOP_UPDATE
which will only write out the inode if there are unflushed changes

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

Fix the sync with head I botched.

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

Sync with HEAD.

Revision 1.39.2.3 / (download) - annotate - [select for diffs], Wed Aug 25 06:59:14 2004 UTC (10 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.2: +14 -6 lines
Diff to previous 1.39.2.2 (colored)

Sync with HEAD.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Aug 14 14:32:04 2004 UTC (10 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.43: +15 -7 lines
Diff to previous 1.43 (colored)

Push atime/mtime updates even further -- into the reclaim path, so they happen
rarely in the normal case.  (Note: This happens at reboot/shutdown time because
all file systems are unmounted.)

Also, for IN_MODIFY, use IN_ACCESSED, not IN_MODIFIED; otherwise "ls -l" of
your device node or FIFO would cause the time stamps to get written too
quickly.

Revision 1.43 / (download) - annotate - [select for diffs], Sat Aug 14 01:08:07 2004 UTC (10 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.42: +4 -4 lines
Diff to previous 1.42 (colored)

Add a new flag, IN_MODIFY.  This is like IN_UPDATE|IN_CHANGE, but unlike
setting those flags, it does not cause the inode to be written in the periodic
sync.  This is used for writes to special files (devices and named pipes) and
FIFOs.

Do not preemptively sync updates to access times and modification times.  They
are now updated in the inode only opportunistically, or when the file or device
is closed.  (Really, it should be delayed beyond close, but this is enough to
help substantially with device nodes.)

And the most amusing part:
Trickle sync was broken on both FFS and ext2fs, in different ways.  In FFS, the
periodic call to VFS_SYNC(MNT_LAZY) was still causing all file data to be
synced.  In ext2fs, it was causing the metadata to *not* be synced.  We now
only call VOP_UPDATE() on the node if we're doing MNT_LAZY.  I've confirmed
that we do in fact trickle correctly now.

Revision 1.39.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:00 2004 UTC (10 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.1: +11 -8 lines
Diff to previous 1.39.2.1 (colored)

Sync with HEAD

Revision 1.42 / (download) - annotate - [select for diffs], Wed Nov 5 10:18:38 2003 UTC (11 years ago) by hannken
Branch: MAIN
CVS Tags: 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
Changes since 1.41: +4 -8 lines
Diff to previous 1.41 (colored)

Clean up the usage of vn_start_write(). At least one occurence clobbered
previous error conditions.
If "(flags & (V_WAIT|V_PCATCH)) == V_WAIT" the return value is always zero.
Ignore the return value in these cases.

From Darrin B. Jewell.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Oct 15 11:29:01 2003 UTC (11 years, 1 month ago) by hannken
Branch: MAIN
Changes since 1.40: +14 -3 lines
Diff to previous 1.40 (colored)

Add the gating of system calls that cause modifications to the underlying
file system.
The function vfs_write_suspend stops all new write operations to a file
system, allows any file system modifying system calls already in progress
to complete, then sync's the file system to disk and returns. The
function vfs_write_resume allows the suspended write operations to
complete.

From FreeBSD with slight modifications.

Approved by: Frank van der Linden <fvdl@netbsd.org>

Revision 1.40 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:45 2003 UTC (11 years, 3 months ago) by agc
Branch: MAIN
Changes since 1.39: +3 -7 lines
Diff to previous 1.39 (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.39.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:27 2003 UTC (11 years, 4 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.39: +8 -8 lines
Diff to previous 1.39 (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.39 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:47 2003 UTC (11 years, 5 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.38: +6 -6 lines
Diff to previous 1.38 (colored)

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

Revision 1.38 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:28 2003 UTC (11 years, 5 months ago) by darrenr
Branch: MAIN
Changes since 1.37: +8 -8 lines
Diff to previous 1.37 (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.37 / (download) - annotate - [select for diffs], Thu May 15 20:25:33 2003 UTC (11 years, 6 months ago) by kristerw
Branch: MAIN
Changes since 1.36: +4 -4 lines
Diff to previous 1.36 (colored)

The C language does not permit statements of the form
   (X ? Y : Z) = 0;
even though gcc handles this by a stupid extension.

Transform these to correct C.

Approved by fvdl.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:44 2003 UTC (11 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.35: +12 -10 lines
Diff to previous 1.35 (colored)

Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 1 05:07:53 2003 UTC (11 years, 9 months ago) by perseant
Branch: MAIN
Changes since 1.34: +13 -4 lines
Diff to previous 1.34 (colored)

Be careful to always zero pages on truncation/fragment extension,
in the case where the filesystem block size is larger than PAGE_SIZE.

Revision 1.34 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:23 2003 UTC (11 years, 9 months ago) by perseant
Branch: MAIN
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

Add code to UBCify LFS.  This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon.  To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
  writes for the pagedaemon, but which also takes over some of the
  functions of lfs_check().  This thread is started the first time an
  LFS is mounted.

* Add a "flags" parameter to GOP_SIZE.  Current values are
  GOP_SIZE_READ, meaning that the call should return the size of the
  in-core version of the file, and GOP_SIZE_WRITE, meaning that it
  should return the on-disk size.  One of GOP_SIZE_READ or
  GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
  resources to get by and use malloc(...M_NOWAIT), using the reserves if
  necessary.  Use the pool subsystem for structures small enough that
  this is feasible.  This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
  structure; getting closer to LFS as an LKM.  "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
  checkpoint; any segments that pass two checkpoints both dirty and
  empty can be summarily cleaned.  Do this.  Right now lfs_segclean
  still works, but this should be turned into an effectless
  compatibility syscall.

Revision 1.22.2.8 / (download) - annotate - [select for diffs], Thu Feb 28 04:15:30 2002 UTC (12 years, 9 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.22.2.7: +3 -4 lines
Diff to previous 1.22.2.7 (colored) next main 1.23 (colored)

Catch up to -current.

Revision 1.24.2.2 / (download) - annotate - [select for diffs], Mon Feb 11 20:10:49 2002 UTC (12 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.24.2.1: +3 -4 lines
Diff to previous 1.24.2.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync w/ -current.

Revision 1.33 / (download) - annotate - [select for diffs], Sat Jan 26 08:32:05 2002 UTC (12 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: 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.32: +3 -4 lines
Diff to previous 1.32 (colored)

fix an error case.

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:23 2002 UTC (12 years, 10 months ago) by thorpej
Branch: kqueue
Changes since 1.24: +59 -98 lines
Diff to previous 1.24 (colored)

Sync kqueue branch with -current.

Revision 1.22.2.7 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:57 2002 UTC (12 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.6: +19 -3 lines
Diff to previous 1.22.2.6 (colored)

Catch up to -current.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Dec 27 01:48:38 2001 UTC (12 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.31: +10 -2 lines
Diff to previous 1.31 (colored)

Use softdep_change_linkcnt to note that the inode mode was set to 0.
From FreeBSD.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Dec 18 10:57:23 2001 UTC (12 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.30: +4 -2 lines
Diff to previous 1.30 (colored)

Bring over fixes from FreeBSD that weren't incorporated yet, mainly
from Kirk McKusick. They implement taking pending block/inode frees
into account for the sake of correct statfs() numbers, and adding
a new softdep type (newdirblk) to correctly handle newly allocated
directory blocks.

Minor additional changes: 1) swap the newly introduced fs_pendinginodes
and fs_pendingblock fields in ffs_sb_swap, and 2) declare lkt_held
in the debug version of the softdep lock structure volatile, as it
can be modified from interrupt context #ifdef DEBUG.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Nov 22 02:42:37 2001 UTC (13 years ago) by chs
Branch: MAIN
Changes since 1.29: +9 -3 lines
Diff to previous 1.29 (colored)

we need to hold the pageq lock while calling uvm_page_unbusy() on
pages that uvm_page_unbusy() will free.

Revision 1.22.2.6 / (download) - annotate - [select for diffs], Wed Nov 14 19:19:02 2001 UTC (13 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.5: +34 -86 lines
Diff to previous 1.22.2.5 (colored)

Catch up to -current.

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:50 2001 UTC (13 years ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.27: +34 -86 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

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

Revision 1.29 / (download) - annotate - [select for diffs], Thu Nov 8 05:24:52 2001 UTC (13 years ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.28: +32 -87 lines
Diff to previous 1.28 (colored)

in both paths that can cause fragments to be expanded (write and truncate-up),
deal with the fragment expansion separately before the rest of the operation.
this allows us to simplify ufs_balloc_range() by not worrying about implicit
fragment expansion.

call VOP_PUTPAGES() directly for vnodes instead of
going through the UVM pager "put" vector.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Nov 8 02:39:16 2001 UTC (13 years ago) by lukem
Branch: MAIN
Changes since 1.27: +4 -1 lines
Diff to previous 1.27 (colored)

add RCSID

Revision 1.22.2.5 / (download) - annotate - [select for diffs], Mon Oct 22 20:42:13 2001 UTC (13 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.4: +6 -4 lines
Diff to previous 1.22.2.4 (colored)

Catch up to -current.

Revision 1.24.4.2 / (download) - annotate - [select for diffs], Thu Oct 11 00:02:35 2001 UTC (13 years, 1 month ago) by fvdl
Branch: thorpej-devvp
Changes since 1.24.4.1: +6 -4 lines
Diff to previous 1.24.4.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Oct 10 06:37:53 2001 UTC (13 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3
Branch point for: thorpej-mips-cache
Changes since 1.26: +6 -4 lines
Diff to previous 1.26 (colored)

in ufs_balloc_range(), if we extend a fragment and need to write the
fragment synchronously, update the vnode's size before doing the flush.
otherwise we might only write part of the data and cause softdep's
accounting to get out of sync.  fixes PR 14201.
many thanks to enami for figuring out what was going on.

Revision 1.22.2.4 / (download) - annotate - [select for diffs], Mon Oct 8 20:11:54 2001 UTC (13 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.3: +5 -8 lines
Diff to previous 1.22.2.3 (colored)

Catch up to -current.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:34 2001 UTC (13 years, 1 month ago) by fvdl
Branch: thorpej-devvp
Changes since 1.24: +21 -26 lines
Diff to previous 1.24 (colored)

Catch up with -current.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Sep 30 02:54:42 2001 UTC (13 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base2
Changes since 1.25: +5 -8 lines
Diff to previous 1.25 (colored)

in ffs_balloc(), clean up page cache state to avoid hangs when we
get ENOSPC. as a result of this, we now skip some of the normal cleanup
in ufs_balloc_range() in the error case.

Revision 1.22.2.3 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:09 2001 UTC (13 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.2: +19 -21 lines
Diff to previous 1.22.2.2 (colored)

Catch up to -current.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:44 2001 UTC (13 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.24: +19 -21 lines
Diff to previous 1.24 (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.22.2.2 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:31 2001 UTC (13 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.22.2.1: +9 -2 lines
Diff to previous 1.22.2.1 (colored)

Catch up with -current.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jul 4 21:08:48 2001 UTC (13 years, 4 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp, kqueue
Changes since 1.23: +9 -2 lines
Diff to previous 1.23 (colored)

in ufs_balloc_range(), clear PG_RDONLY on pages which now have backing store.
fixes PR 13353.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:15 2001 UTC (13 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.22: +5 -4 lines
Diff to previous 1.22 (colored)

Catch up to -current.

Revision 1.13.8.5 / (download) - annotate - [select for diffs], Sat Apr 21 17:47:05 2001 UTC (13 years, 7 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.8.4: +5 -4 lines
Diff to previous 1.13.8.4 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Sync with HEAD

Revision 1.23 / (download) - annotate - [select for diffs], Wed Apr 18 03:48:23 2001 UTC (13 years, 7 months ago) by enami
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, perseant-lfsv2-base, perseant-lfsv2
Changes since 1.22: +5 -4 lines
Diff to previous 1.22 (colored)

Don't flush possibilly relocated file system block if write is done
asynchronously.  They will be flushed later when necessary and flushing
now makes sequential write access very slow.

Revision 1.13.8.4 / (download) - annotate - [select for diffs], Mon Mar 12 13:32:07 2001 UTC (13 years, 8 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.8.3: +11 -10 lines
Diff to previous 1.13.8.3 (colored) to branchpoint 1.13 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Feb 27 02:55:40 2001 UTC (13 years, 9 months ago) by chs
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.21: +6 -6 lines
Diff to previous 1.21 (colored)

min() -> MIN(), max() -> MAX().
fixes more problems with file offsets > 4GB.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Feb 18 20:17:05 2001 UTC (13 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.20: +4 -2 lines
Diff to previous 1.20 (colored)

skip truncating a file to 0 before freeing it if it's already zero-length.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Feb 18 20:13:29 2001 UTC (13 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.19: +3 -4 lines
Diff to previous 1.19 (colored)

fix the range args to pgo_flush() in the error path of ufs_balloc_range().

Revision 1.13.8.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:47 2001 UTC (13 years, 9 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.8.2: +3 -3 lines
Diff to previous 1.13.8.2 (colored) to branchpoint 1.13 (colored)

Sync with HEAD.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Feb 7 12:40:45 2001 UTC (13 years, 9 months ago) by tsutsui
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Fix nested extern declaration of prtactive.

Revision 1.13.8.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:16 2000 UTC (13 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.8.1: +154 -3 lines
Diff to previous 1.13.8.1 (colored) to branchpoint 1.13 (colored)

Sync with HEAD.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Dec 3 03:57:24 2000 UTC (13 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.17: +4 -3 lines
Diff to previous 1.17 (colored)

in ufs_balloc_range(), don't rely on uvm_vnp_setsize() to invalidate
pages we've allocated past the real EOF when we fail to allocate a block.
we used to play games with the VM notion of the file size but we don't do
that anymore, so uvm_vnp_setsize() doesn't do what we want anymore.
call the pager flush op instead.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Dec 1 09:54:42 2000 UTC (13 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.16: +11 -1 lines
Diff to previous 1.16 (colored)

make sure that pages are on an paging queue before unlocking them.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:57 2000 UTC (14 years ago) by chs
Branch: MAIN
Changes since 1.15: +143 -3 lines
Diff to previous 1.15 (colored)

Initial integration of the Unified Buffer Cache project.

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

Update thorpej_scsipi to -current as of a month ago

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:10:40 2000 UTC (14 years, 5 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.15 / (download) - annotate - [select for diffs], Mon May 29 18:04:31 2000 UTC (14 years, 6 months ago) by mycroft
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
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Add a new inode flags called IN_ACCESSED.  This used in place of IN_MODIFIED
to record that the atime was updated.  In ffs_update(), we only do synchronous
writes if something *other* than the atime was changed.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Mar 30 12:41:14 2000 UTC (14 years, 8 months ago) by augustss
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Remove register declarations.

Revision 1.13.4.4 / (download) - annotate - [select for diffs], Fri Aug 6 12:50:27 1999 UTC (15 years, 3 months ago) by chs
Branch: chs-ubc2
Changes since 1.13.4.3: +2 -2 lines
Diff to previous 1.13.4.3 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

fix math in ufs_balloc_range().

Revision 1.13.4.3 / (download) - annotate - [select for diffs], Sat Jul 31 18:52:38 1999 UTC (15 years, 4 months ago) by chs
Branch: chs-ubc2
Changes since 1.13.4.2: +44 -71 lines
Diff to previous 1.13.4.2 (colored) to branchpoint 1.13 (colored)

in ufs_balloc_range(), handle cases where we need to hold multiple pages
at the beginning of the range, and where the number of pages at the
beginning and end of the range are different.

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Sun Jul 11 05:51:40 1999 UTC (15 years, 4 months ago) by chs
Branch: chs-ubc2
Changes since 1.13.4.1: +93 -7 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored)

in ufs_balloc_range(), read any partial pages that were already
allocated before allocating additional blocks in the same page.
hold these pages busy for the duration of the allocations and
release them when we're done.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Sun Jul 4 01:54:31 1999 UTC (15 years, 4 months ago) by chs
Branch: chs-ubc2
Changes since 1.13: +53 -1 lines
Diff to previous 1.13 (colored)

add ufs_balloc_range().

Revision 1.13 / (download) - annotate - [select for diffs], Fri Mar 5 21:09:50 1999 UTC (15 years, 8 months ago) by mycroft
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base
Branch point for: thorpej_scsipi, chs-ubc2
Changes since 1.12: +3 -6 lines
Diff to previous 1.12 (colored)

Pass null pointers to VOP_UPDATE rather than having all the callers fetch the
current time themselves.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 4 11:02:30 1998 UTC (15 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.11: +1 -2 lines
Diff to previous 1.11 (colored)

No need to #include malloc.h here.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Jun 8 04:27:52 1998 UTC (16 years, 5 months ago) by scottr
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t, chs-ubc-base, chs-ubc
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

Use the newly-defined opt_quota.h.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:37 1998 UTC (16 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.9: +21 -42 lines
Diff to previous 1.9 (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, 9 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +22 -65 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, 9 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +22 -7 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jun 11 10:10:11 1997 UTC (17 years, 5 months ago) by bouyer
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, bouyer-scsipi
Changes since 1.8: +7 -7 lines
Diff to previous 1.8 (colored)

Add support for ext2fs, this needed a few modifications to ufs/ufs/inode.h:
- added an "union inode_ext" to struct inode, for the per-fs extentions.
  For now only ext2fs uses it.
- i_din is now an union:
	union {
		struct  dinode ffs_din; /* 128 bytes of the on-disk dinode. */
		struct ext2fs_dinode e2fs_din; /* 128 bytes of the on-disk dinode. */
	} i_din
  Added a lot of #define i_ffs_* and i_e2fs_* to access the fields.
- Added two macros: FFS_ITIMES and EXT2FS_ITIMES. ITIMES calls the rigth
  macro, depending on the time of the inode. ITIMES is used where necessary,
  FFS_ITIMES and EXT2FS_ITIMES in other places.

Revision 1.7.8.1 / (download) - annotate - [select for diffs], Wed Mar 12 21:26:39 1997 UTC (17 years, 8 months ago) by is
Branch: is-newarp
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Merge in changes from Trunk

Revision 1.8 / (download) - annotate - [select for diffs], Mon Mar 10 06:18:31 1997 UTC (17 years, 8 months ago) by mycroft
Branch: MAIN
CVS Tags: is-newarp-before-merge
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored)

Just increment the generation count.  Using the time is bogus and defeats
fsirand(8).

Revision 1.7 / (download) - annotate - [select for diffs], Sat May 11 18:27:52 1996 UTC (18 years, 6 months ago) by mycroft
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-base
Branch point for: is-newarp
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

Change VOP_UPDATE() semantics:
* Make 2nd and 3rd args timespecs, not timevals.
* Consistently pass a Boolean as the 4th arg (except in LFS).
Also, fix ffs_update() and lfs_update() to actually change the nsec fields.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Feb 9 22:36:05 1996 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.5: +17 -13 lines
Diff to previous 1.5 (colored)

ufs prototype changes

Revision 1.5 / (download) - annotate - [select for diffs], Wed Dec 14 13:03:59 1994 UTC (19 years, 11 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.4: +5 -6 lines
Diff to previous 1.4 (colored)

Sync with CSRG.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 20 04:21:21 1994 UTC (20 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.3: +1 -5 lines
Diff to previous 1.3 (colored)

update for new syscall args description mechanism, and deal safely
with wider types.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 29 06:47:28 1994 UTC (20 years, 5 months ago) by cgd
Branch: MAIN
CVS Tags: 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.2: +3 -2 lines
Diff to previous 1.2 (colored)

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

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 13 15:37:58 1994 UTC (20 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

Move definition of prtactive.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:43:17 1994 UTC (20 years, 5 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>