The NetBSD Project

CVS log for src/sys/ufs/ffs/ffs_vnops.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.125 / (download) - annotate - [select for diffs], Fri Jul 25 08:20:53 2014 UTC (9 hours, 3 minutes ago) by dholland
Branch: MAIN
CVS Tags: HEAD
Changes since 1.124: +8 -2 lines
Diff to previous 1.124 (colored)

Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can
find.

The filesystem ones all call genfs_eopnotsupp - right now I am only
implementing the plumbing and we can implement fallocate and/or
fdiscard for files later.

The device ones call spec_fallocate (which is also genfs_eopnotsupp)
and spec_fdiscard, which dispatches to the device-level op.

The fifo ones all call vn_fifo_bypass, which also ends up being
EOPNOTSUPP.

Revision 1.120.2.3 / (download) - annotate - [select for diffs], Thu May 22 11:41:18 2014 UTC (2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.2: +7 -7 lines
Diff to previous 1.120.2.2 (colored) to branchpoint 1.120 (colored) next main 1.121 (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.123.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:21 2014 UTC (2 months, 1 week ago) by rmind
Branch: rmind-smpnet
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored) next main 1.124 (colored)

sync with head

Revision 1.124 / (download) - annotate - [select for diffs], Mon Mar 24 13:42:40 2014 UTC (4 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored)

- Make VI_XLOCK, VI_CLEAN and VI_LOCKSHARE private to kern/vfs_*.c.
- Make vwait() static.
- Add  vdead_check() to check a vnode for being or becoming dead.

Discussed on tech-kern.

Welcome to 6.99.38

Revision 1.123 / (download) - annotate - [select for diffs], Sun Jun 23 07:28:37 2013 UTC (13 months ago) by dholland
Branch: MAIN
CVS Tags: riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.122: +6 -6 lines
Diff to previous 1.122 (colored)

Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of
the following symbols so as to disambiguate fully. (Christos already
did the lfs ones.)

   lblkno
   lblktosize
   lfragtosize
   numfrags
   blkroundup
   fragroundup

Revision 1.121.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:15 2013 UTC (16 months, 4 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.121: +5 -5 lines
Diff to previous 1.121 (colored) next main 1.122 (colored)

resync with head

Revision 1.120.2.2 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:33 2013 UTC (18 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.120.2.1: +5 -5 lines
Diff to previous 1.120.2.1 (colored) to branchpoint 1.120 (colored)

sync with head

Revision 1.122 / (download) - annotate - [select for diffs], Tue Jan 22 09:39:16 2013 UTC (18 months ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8, tls-maxphys-base, khorben-n900, agc-symver-base, agc-symver
Changes since 1.121: +5 -5 lines
Diff to previous 1.121 (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.120.6.1 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:40 2012 UTC (2 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120: +24 -22 lines
Diff to previous 1.120 (colored) next main 1.121 (colored)

sync to latest -current.

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Wed May 23 10:08:18 2012 UTC (2 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120: +24 -22 lines
Diff to previous 1.120 (colored)

sync with head.

Revision 1.120.8.1 / (download) - annotate - [select for diffs], Mon May 7 03:01:12 2012 UTC (2 years, 2 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.120: +24 -22 lines
Diff to previous 1.120 (colored) next main 1.121 (colored)

Pull up following revision(s) (requested by chs in ticket #204):
	sys/fs/sysvbfs/sysvbfs_vnops.c: revision 1.44
	sys/ufs/ffs/ffs_vfsops.c: revision 1.277
	sys/fs/v7fs/v7fs_vnops.c: revision 1.11
	sys/ufs/chfs/chfs_vnops.c: revision 1.7
	sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.61
	sys/miscfs/genfs/genfs_io.c: revision 1.54
	sys/kern/vfs_wapbl.c: revision 1.52
	sys/uvm/uvm_pager.h: revision 1.43
	sys/ufs/ffs/ffs_vnops.c: revision 1.121
	sys/kern/vfs_subr.c: revision 1.434
	sys/fs/msdosfs/msdosfs_vnops.c: revision 1.83
	sys/fs/ntfs/ntfs_vnops.c: revision 1.51
	sys/fs/udf/udf_subr.c: revision 1.119
	sys/miscfs/specfs/spec_vnops.c: revision 1.135
	sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.103
	sys/fs/udf/udf_vnops.c: revision 1.71
	sys/ufs/ufs/ufs_readwrite.c: revision 1.104
change vflushbuf() to take the full FSYNC_* flags.
translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that
genfs_do_io() can set the appropriate io priority for the I/O.
this is the first part of addressing PR 46325.
mark all wapbl I/O as BPRIO_TIMECRITICAL.
this is the second part of addressing PR 46325.

Revision 1.121 / (download) - annotate - [select for diffs], Sun Apr 29 22:54:00 2012 UTC (2 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, jmcneill-usbmp-base10
Branch point for: tls-maxphys
Changes since 1.120: +24 -22 lines
Diff to previous 1.120 (colored)

change vflushbuf() to take the full FSYNC_* flags.
translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that
genfs_do_io() can set the appropriate io priority for the I/O.
this is the first part of addressing PR 46325.

Revision 1.104.4.8 / (download) - annotate - [select for diffs], Sun Jul 17 15:36:04 2011 UTC (3 years ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.104.4.7: +14 -4 lines
Diff to previous 1.104.4.7 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored)

Pull up following revision(s) (requested by manu in ticket #1645):
lib/libc/sys/Makefile.inc                       1.207 via patch
lib/libc/sys/extattr_get_file.2                 patch
lib/libpuffs/dispatcher.c                       1.34,1.36 via patch
lib/libpuffs/puffs.c                            1.107 via patch
lib/libpuffs/puffs.h                            1.115,1.118 via patch
sys/fs/puffs/puffs_msgif.h                      1.71,1.76 via patch
sys/fs/puffs/puffs_vfsops.c                     1.88 via patch
sys/fs/puffs/puffs_vnops.c                      1.145,1.154 via patch
sys/kern/vfs_xattr.c                            1.24-1.27 via patch
sys/kern/vnode_if.c                             1.87 via patch
sys/sys/Makefile                                1.133 via patch
sys/sys/extattr.h                               1.6 via patch
sys/sys/vnode_if.h                              1.81 via patch
sys/ufs/ffs/ffs_vnops.c                         patch
sys/ufs/ufs/ufs_extattr.c                       1.31,1.34 via patch

* support extended attributes
* bump major due to structure growth
* add some spare space
* remove ABI sillyness
Support extended attributes.
Fix multiple non compliances in our Linux-like extattr API, and make it
public so that it can be used.
Improve a bit listxattr(2). It attemps to list both system and user
extended attributes, and it faled if calling user did not have privilege
for reading system EA. Now we just lise user EA and skip system EA in
reading them is not allowed.
Fix bug introduced in previous commuit: Do not vrele() a vnode we did not
obtained.
Improve UFS1 extended attributes usability
- autocreate attribute backing file for new attributes
- autoload attributes when issuing extattrctl start
- when autoloading attributes, do not display garbage warning when looking
up entries that got ENOENT
Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the
filesystem in which format extended attribute shall be listed.
There are currently two formats:
- NUL-terminated strings, used for listxattr(2), this is the default.
- one byte length-pprefixed, non NUL-terminated strings, used for
  extattr_list_file(2), which is obtanined by setting the
  EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)
This approach avoid the need for converting the list back and forth, except
in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may
have requested EXTATTR_LIST_PREFIXLEN.

Revision 1.120 / (download) - annotate - [select for diffs], Mon Jun 27 16:34:47 2011 UTC (3 years ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, 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-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.119: +14 -4 lines
Diff to previous 1.119 (colored)

Implement extended attribute listing for UFS1.

Modify lsextattr(8) so that it does not expect each attribute name to be
prefixed by its length. This enable extattr_list_(file|link|fd) to
return a buffer matching its documentation. This also makes the interface
similar to what Linux and FUSE do, which is nice for interoperability.

Note that since we had no EA implementation supporting listing, we do
not break anything.

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:31 2011 UTC (3 years, 1 month ago) by cherry
Branch: cherry-xenmp
Changes since 1.118: +12 -12 lines
Diff to previous 1.118 (colored) next main 1.119 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.119 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:00 2011 UTC (3 years, 1 month ago) by rmind
Branch: MAIN
Changes since 1.118: +12 -12 lines
Diff to previous 1.118 (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.116.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:16 2011 UTC (3 years, 1 month ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.116: +78 -107 lines
Diff to previous 1.116 (colored) next main 1.117 (colored)

Sync with HEAD.

Revision 1.113.4.5 / (download) - annotate - [select for diffs], Tue May 31 03:05:13 2011 UTC (3 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.113.4.4: +67 -95 lines
Diff to previous 1.113.4.4 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored)

sync with head

Revision 1.118 / (download) - annotate - [select for diffs], Wed Apr 27 07:24:53 2011 UTC (3 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.117: +69 -97 lines
Diff to previous 1.117 (colored)

Cleanup ffs fsync and make devices on wapbl enabled file systems work here:

- Replace the ugly sync loop in ffs_full_fsync() and ffs_vfs_fsync() with
  vflushbuf().  This loop is a relic of softdeps and not needed anymore.

- Add ffs_spec_fsync() for device nodes on ffs file systems that calls
  spec_fsync() like all other file systems do and then updates the ctime.

Discussed on tech-kern.

Should fix PRs:
PR #41192 wapbl diagnostic panic during cgdconfig
PR #41977 kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)" failed
PR #42149 wapbl locking panic if watching DVD
PR #42551 Lockdebug assert in wapbl when running zpool

Revision 1.113.4.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:20 2011 UTC (3 years, 3 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.113.4.3: +9 -10 lines
Diff to previous 1.113.4.3 (colored) to branchpoint 1.113 (colored)

sync with head

Revision 1.117 / (download) - annotate - [select for diffs], Fri Apr 15 15:54:11 2011 UTC (3 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.116: +11 -12 lines
Diff to previous 1.116 (colored)

ffs_fsync: no need for wapbl_vptomp() here -- vnode is always VREG.

Revision 1.113.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:32 2011 UTC (3 years, 4 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.113.4.2: +16 -2 lines
Diff to previous 1.113.4.2 (colored) to branchpoint 1.113 (colored)

sync with head

Revision 1.98.10.5 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:46 2010 UTC (3 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.98.10.4: +4 -3 lines
Diff to previous 1.98.10.4 (colored) to branchpoint 1.98 (colored) next main 1.99 (colored)

sync with head

Revision 1.113.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:48:11 2010 UTC (3 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.113.2.1: +14 -0 lines
Diff to previous 1.113.2.1 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored)

Sync with HEAD.

Revision 1.116 / (download) - annotate - [select for diffs], Thu Aug 12 07:41:49 2010 UTC (3 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.115: +4 -3 lines
Diff to previous 1.115 (colored)

ffs_reclaim: don't free an already free inode.  This may happen when
             ffs_fhtovp() gets a free inode and releases it.

Revision 1.98.10.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:13 2010 UTC (3 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.98.10.3: +39 -26 lines
Diff to previous 1.98.10.3 (colored) to branchpoint 1.98 (colored)

sync with head.

Revision 1.115 / (download) - annotate - [select for diffs], Wed Jul 28 11:03:48 2010 UTC (3 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10
Changes since 1.114: +15 -2 lines
Diff to previous 1.114 (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.113.4.2 / (download) - annotate - [select for diffs], Sun May 30 05:18:09 2010 UTC (4 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.113.4.1: +26 -26 lines
Diff to previous 1.113.4.1 (colored) to branchpoint 1.113 (colored)

sync with head

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:35 2010 UTC (4 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.113: +26 -26 lines
Diff to previous 1.113 (colored)

Sync with HEAD.

Revision 1.114 / (download) - annotate - [select for diffs], Mon Mar 29 13:11:33 2010 UTC (4 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.113: +26 -26 lines
Diff to previous 1.113 (colored)

Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.

Revision 1.113.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:15 2010 UTC (4 years, 4 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.113: +15 -15 lines
Diff to previous 1.113 (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.98.10.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:44 2010 UTC (4 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.98.10.2: +11 -82 lines
Diff to previous 1.98.10.2 (colored) to branchpoint 1.98 (colored)

sync with head

Revision 1.113 / (download) - annotate - [select for diffs], Wed Nov 4 09:45:05 2009 UTC (4 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.112: +11 -82 lines
Diff to previous 1.112 (colored)

Now that softdep has left the tree the only place needing the ffs_lock()
hack is ffs_sync().

- Use the generic lock operations for ffs.
- Change ffs_sync() to omit the vnode lock while suspending.

Reviewed by: Antti Kantee <pooka@netbsd.org>

Revision 1.109.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:06 2009 UTC (5 years, 2 months ago) by jym
Branch: jym-xensuspend
Changes since 1.109: +48 -100 lines
Diff to previous 1.109 (colored) next main 1.110 (colored)

Sync with HEAD.

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

Revision 1.98.10.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:38 2009 UTC (5 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.98.10.1: +160 -106 lines
Diff to previous 1.98.10.1 (colored) to branchpoint 1.98 (colored)

sync with head.

Revision 1.104.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:57 2009 UTC (5 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.104.2.2: +10 -10 lines
Diff to previous 1.104.2.2 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored)

Sync with HEAD.

Revision 1.104.4.7 / (download) - annotate - [select for diffs], Sat Apr 4 17:27:16 2009 UTC (5 years, 3 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b
Changes since 1.104.4.6: +10 -10 lines
Diff to previous 1.104.4.6 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by add in ticket #655):
	sys/ufs/ffs/ffs_vfsops.c: revision 1.245 via patch
	sys/ufs/ffs/ffs_vnops.c: revision 1.112 via patch
fsync:
- atime updates were not being synced.
ffs_sync:
- In some cases the sync vnode was acting like now dead /usr/sbin/update.
  It was examining vnodes that it should have ignored.
- It would find dirty inodes and try to flush them. Often ffs_fsync()
  cheerfully ignored the flush request due to the fsync bug. Such inodes
  remained dirty and were repeatedly re-examined by the syncer until
  vnode reclaim or system shutdown.
- We were marking our place in the per-mount vnode list even though in
  most cases there was not flush to perform. While not a bug, this wasted
  CPU cycles because a TAILQ_NEXT would have sufficed.

Revision 1.112 / (download) - annotate - [select for diffs], Sun Mar 29 10:29:00 2009 UTC (5 years, 3 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-base, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.111: +10 -10 lines
Diff to previous 1.111 (colored)

fsync:

- atime updates were not being synced.

ffs_sync:

- In some cases the sync vnode was acting like now dead /usr/sbin/update.
  It was examining vnodes that it should have ignored.

- It would find dirty inodes and try to flush them. Often ffs_fsync()
  cheerfully ignored the flush request due to the fsync bug. Such inodes
  remained dirty and were repeatedly re-examined by the syncer until
  vnode reclaim or system shutdown.

- We were marking our place in the per-mount vnode list even though in
  most cases there was not flush to perform. While not a bug, this wasted
  CPU cycles because a TAILQ_NEXT would have sufficed.

Revision 1.104.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:39 2009 UTC (5 years, 4 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.104.2.1: +50 -112 lines
Diff to previous 1.104.2.1 (colored) to branchpoint 1.104 (colored)

Sync with HEAD.

Revision 1.104.4.6 / (download) - annotate - [select for diffs], Tue Feb 24 04:13:35 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC3
Changes since 1.104.4.5: +39 -36 lines
Diff to previous 1.104.4.5 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #490):
	sys/kern/vfs_wapbl.c: revision 1.23
	sys/miscfs/syncfs/sync_subr.c: revision 1.36
	sys/miscfs/syncfs/sync_vnops.c: revision 1.26
	sys/ufs/ffs/ffs_alloc.c: revision 1.121
	sys/ufs/ffs/ffs_vfsops.c: revision 1.242
	sys/ufs/ffs/ffs_vnops.c: revision 1.110
PR kern/39564 wapbl performance issues with disk cache flushing
PR kern/40361 WAPBL locking panic in -current
PR kern/40361 WAPBL locking panic in -current
PR kern/40470 WAPBL corrupts ext2fs
PR kern/40562 busy loop in ffs_sync when unmounting a file system
PR kern/40525 panic: ffs_valloc: dup alloc
- A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg
  buffers being invalidated. Problem discovered and patch by dholland@.
- If the syncer fails to lazily sync a vnode due to lock contention,
  retry 1 second later instead of 30 seconds later.
- Flush inode atime updates every ~10 seconds (this makes most sense with
  logging). Presently they didn't hit the disk for read-only files or
  devices until the file system was unmounted. It would be better to trickle
  the updates out but that would require more extensive changes.
- Fix issues with file system corruption, busy looping and other nasty
  problems when logging and non-logging file systems are intermixed,
  with one being the root file system.
- For logging, do not flush metadata on an inode-at-a-time basis if the sync
  has been requested by ioflush. Previously, we could try hundreds of log
  sync operations a second due to inode update activity, causing the syncer
  to fall behind and metadata updates to be serialized across the entire
  file system. Instead, burst out metadata and log flushes at a minimum
  interval of every 10 seconds on an active file system (happens more often
  if the log becomes full). Note this does not change the operation of
  fsync() etc.
- With the flush issue fixed, re-enable concurrent metadata updates in
  vfs_wapbl.c.

Revision 1.111 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:06 2009 UTC (5 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.110: +10 -65 lines
Diff to previous 1.110 (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.110 / (download) - annotate - [select for diffs], Sun Feb 22 20:10:25 2009 UTC (5 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.109: +39 -36 lines
Diff to previous 1.109 (colored)

PR kern/39564 wapbl performance issues with disk cache flushing
PR kern/40361 WAPBL locking panic in -current
PR kern/40361 WAPBL locking panic in -current
PR kern/40470 WAPBL corrupts ext2fs
PR kern/40562 busy loop in ffs_sync when unmounting a file system
PR kern/40525 panic: ffs_valloc: dup alloc

- A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg
  buffers being invalidated. Problem discovered and patch by dholland@.

- If the syncer fails to lazily sync a vnode due to lock contention,
  retry 1 second later instead of 30 seconds later.

- Flush inode atime updates every ~10 seconds (this makes most sense with
  logging). Presently they didn't hit the disk for read-only files or
  devices until the file system was unmounted. It would be better to trickle
  the updates out but that would require more extensive changes.

- Fix issues with file system corruption, busy looping and other nasty
  problems when logging and non-logging file systems are intermixed,
  with one being the root file system.

- For logging, do not flush metadata on an inode-at-a-time basis if the sync
  has been requested by ioflush. Previously, we could try hundreds of log
  sync operations a second due to inode update activity, causing the syncer
  to fall behind and metadata updates to be serialized across the entire
  file system. Instead, burst out metadata and log flushes at a minimum
  interval of every 10 seconds on an active file system (happens more often
  if the log becomes full). Note this does not change the operation of
  fsync() etc.

- With the flush issue fixed, re-enable concurrent metadata updates in
  vfs_wapbl.c.

Revision 1.104.4.5 / (download) - annotate - [select for diffs], Mon Feb 2 21:17:08 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC2
Changes since 1.104.4.4: +13 -23 lines
Diff to previous 1.104.4.4 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #395):
	sys/ufs/ffs/ffs_vnops.c: revision 1.109
PR kern/40469 5.0_BETA/amd64 INSTALL kernel panics when installing on
log-enabled filesystems
PR kern/40470 WAPBL corrupts ext2fs
Don't touch inodes at all unless VOP_FSYNC(). Might fix the ext2fs problem,
I am not sure.

Revision 1.104.4.4 / (download) - annotate - [select for diffs], Mon Feb 2 21:16:18 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
Changes since 1.104.4.3: +3 -3 lines
Diff to previous 1.104.4.3 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #395):
	sys/ufs/ffs/ffs_vnops.c: revision 1.108
Don't try to ffs_update VT_NON vnodes

Revision 1.104.4.3 / (download) - annotate - [select for diffs], Mon Feb 2 21:15:40 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
Changes since 1.104.4.2: +5 -3 lines
Diff to previous 1.104.4.2 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #395):
	sys/ufs/ffs/ffs_vnops.c: revision 1.107
Add a comment.

Revision 1.104.4.2 / (download) - annotate - [select for diffs], Mon Feb 2 21:14:50 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
Changes since 1.104.4.1: +3 -5 lines
Diff to previous 1.104.4.1 (colored) to branchpoint 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #395):
	sys/ufs/ffs/ffs_vnops.c: revision 1.106
PR kern/40246 current panics when removing swap devices
Someone was smoking crack when they decided to unconditionally OR FSYNC_VFS
into the flags for block devices.

Revision 1.104.4.1 / (download) - annotate - [select for diffs], Mon Feb 2 21:14:03 2009 UTC (5 years, 5 months ago) by snj
Branch: netbsd-5
Changes since 1.104: +17 -14 lines
Diff to previous 1.104 (colored)

Pull up following revision(s) (requested by ad in ticket #395):
	sys/ufs/ffs/ffs_vnops.c: revision 1.105
PR kern/40210 5.0 BETA WAPBL related crash

Revision 1.109 / (download) - annotate - [select for diffs], Sun Feb 1 17:36:43 2009 UTC (5 years, 5 months ago) by ad
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.108: +13 -23 lines
Diff to previous 1.108 (colored)

PR kern/40469 5.0_BETA/amd64 INSTALL kernel panics when installing on log-enabled filesystems
PR kern/40470 WAPBL corrupts ext2fs

Don't touch inodes at all unless VOP_FSYNC(). Might fix the ext2fs problem,
I am not sure.

Revision 1.104.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:32 2009 UTC (5 years, 6 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.104: +21 -18 lines
Diff to previous 1.104 (colored)

Sync with HEAD.

Revision 1.98.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:42 2009 UTC (5 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.98.6.2: +19 -34 lines
Diff to previous 1.98.6.2 (colored) to branchpoint 1.98 (colored) next main 1.99 (colored)

Sync with HEAD.

Revision 1.108 / (download) - annotate - [select for diffs], Sun Dec 28 16:27:00 2008 UTC (5 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.107: +3 -3 lines
Diff to previous 1.107 (colored)

Don't try to ffs_update VT_NON vnodes

Revision 1.107 / (download) - annotate - [select for diffs], Mon Dec 22 12:18:48 2008 UTC (5 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.106: +5 -3 lines
Diff to previous 1.106 (colored)

Add a comment.

Revision 1.106 / (download) - annotate - [select for diffs], Mon Dec 22 11:46:33 2008 UTC (5 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.105: +3 -5 lines
Diff to previous 1.105 (colored)

PR kern/40246 current panics when removing swap devices

Someone was smoking crack when they decided to unconditionally OR FSYNC_VFS
into the flags for block devices.

Revision 1.105 / (download) - annotate - [select for diffs], Sun Dec 21 10:44:32 2008 UTC (5 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.104: +17 -14 lines
Diff to previous 1.104 (colored)

PR kern/40210 5.0 BETA WAPBL related crash

Revision 1.99.6.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:18:10 2008 UTC (5 years, 9 months ago) by haad
Branch: haad-dm
Changes since 1.99: +138 -25 lines
Diff to previous 1.99 (colored) next main 1.100 (colored)

Sync with HEAD.

Revision 1.99.2.2 / (download) - annotate - [select for diffs], Fri Oct 10 22:37:10 2008 UTC (5 years, 9 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.99.2.1: +2 -20 lines
Diff to previous 1.99.2.1 (colored) to branchpoint 1.99 (colored) next main 1.100 (colored)

Sync with HEAD.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Oct 10 09:21:58 2008 UTC (5 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, netbsd-5-base, netbsd-5-0-RC1, 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.103: +2 -20 lines
Diff to previous 1.103 (colored)

Break a deadlock where one thread has a wapbl transaction, calls VOP_GETPAGES
and wants to busy a page  while  another thread calls VOP_PUTPAGES on the same
vnode, takes pages busy and wants to start a wapbl transaction.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>

Revision 1.98.6.2 / (download) - annotate - [select for diffs], Sun Sep 28 10:41:06 2008 UTC (5 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.98.6.1: +154 -23 lines
Diff to previous 1.98.6.1 (colored) to branchpoint 1.98 (colored)

Sync with HEAD.

Revision 1.99.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:05 2008 UTC (5 years, 10 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.99: +156 -25 lines
Diff to previous 1.99 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.103 / (download) - annotate - [select for diffs], Fri Aug 22 10:48:22 2008 UTC (5 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.102: +20 -2 lines
Diff to previous 1.102 (colored)

Add snapshot support for logging ffs file systems.

- Add UFS_WAPBL_BEGIN() / UFS_WAPBL_END() where needed.

- Expunge WAPBL log inodes from snapshots.

- Ffs_copyonwrite() and ffs_snapblkfree() must run inside a WAPBL transaction.

- Add ffs_gop_write() as a wrapper around genfs_gop_write() that makes sure
  genfs_gop_write() gets always called inside a WAPBL transaction.

- Add VOP_PUTPAGES() flag PGO_JOURNALLOCKED to tag calls to VOP_PUTPAGES()
  inside a WAPBL transaction.

Reviewed by: Simon Burge <simonb@netbsd.org>,  Greg Oster <oster@netbsd.org>

PGO_JOURNALLOCKED / ffs_gop_write() part presented on tech-kern@.

Revision 1.102 / (download) - annotate - [select for diffs], Tue Aug 12 10:14:37 2008 UTC (5 years, 11 months ago) by hannken
Branch: MAIN
Changes since 1.101: +3 -17 lines
Diff to previous 1.101 (colored)

Deny read/write access to snapshot vnodes.  We use fss(4) to read from
snapshots.  With this policy in place:

- Separate the snapshot vnode lock from the snapshot common lock.
  Snapshots no longer need recursive vnode locks.

- Use a mutex (si_snaplock) to serialize creation, deletion, reading and
  writing of snapshots.

- Move ffs_read() for snapshots into ffs_snapshot.c.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>

While here change ffs_copyonwrite() to fail requests from pagedaemon that need
to copy-on-write.

Revision 1.101 / (download) - annotate - [select for diffs], Thu Jul 31 23:49:50 2008 UTC (5 years, 11 months ago) by oster
Branch: MAIN
Changes since 1.100: +11 -6 lines
Diff to previous 1.100 (colored)

Make MSDOS filesystems work again after WAPBL merge.  Fixes a quite
repeatable panic in fstrans_getstate() found while searching for a
different USB bug.  Also makes the code somewhat more readable.

Patch from Juergen Hannken-Illjes with a small rearrangement from me.

Approved by: hannken

Revision 1.100 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:06 2008 UTC (5 years, 11 months ago) by simonb
Branch: MAIN
Changes since 1.99: +128 -6 lines
Diff to previous 1.99 (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.99.4.3 / (download) - annotate - [select for diffs], Fri Jul 18 14:48:02 2008 UTC (6 years ago) by simonb
Branch: simonb-wapbl
Changes since 1.99.4.2: +16 -10 lines
Diff to previous 1.99.4.2 (colored) to branchpoint 1.99 (colored) next main 1.100 (colored)

In ffs_fsync() pass FSYNC_VFS to ffs_full_fsync() for a VBLK vnode so
that the correct "struct mount" is referenced.

Fixes WAPBL for the "mount update" case, so remove the "anti-kern/38057"
hack that was previous there to guard against this.

Based on suggestion from yamt@.  yamt suggest this could be cleaner
that the current VFS_FSYNC method too.  Another day...

Revision 1.99.4.2 / (download) - annotate - [select for diffs], Thu Jun 12 08:39:22 2008 UTC (6 years, 1 month ago) by martin
Branch: simonb-wapbl
Changes since 1.99.4.1: +2 -9 lines
Diff to previous 1.99.4.1 (colored) to branchpoint 1.99 (colored)

License police

Revision 1.99.4.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:23 2008 UTC (6 years, 1 month ago) by simonb
Branch: simonb-wapbl
Changes since 1.99: +125 -2 lines
Diff to previous 1.99 (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.98.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:35 2008 UTC (6 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.98: +21 -8 lines
Diff to previous 1.98 (colored)

Sync with HEAD.

Revision 1.98.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:55 2008 UTC (6 years, 2 months ago) by yamt
Branch: yamt-pf42
Changes since 1.98: +21 -8 lines
Diff to previous 1.98 (colored) next main 1.99 (colored)

sync with head.

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

sync with head.

Revision 1.99 / (download) - annotate - [select for diffs], Tue Apr 29 18:18:09 2008 UTC (6 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, simonb-wapbl, haad-dm
Changes since 1.98: +21 -8 lines
Diff to previous 1.98 (colored)

PR kern/38057 ffs makes assuptions about devvp file system
PR kern/33406 softdeps get stuck in endless loop

Introduce VFS_FSYNC() and call it when syncing a block device, if it
has a mounted file system.

Revision 1.91.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:12 2008 UTC (6 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.91.2.2: +14 -30 lines
Diff to previous 1.91.2.2 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored)

sync with HEAD

Revision 1.92.4.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:28 2008 UTC (6 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.92.4.1: +79 -107 lines
Diff to previous 1.92.4.1 (colored) to branchpoint 1.92 (colored) next main 1.93 (colored)

Sync with HEAD.

Revision 1.69.4.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:04 2008 UTC (6 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.7: +14 -22 lines
Diff to previous 1.69.4.7 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

sync with head.

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

Replace struct lock on vnodes with a simpler lock object built on
krwlock_t. This is a step towards removing lockmgr and simplifying
vnode locking. Discussed on tech-kern.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Jan 25 14:32:17 2008 UTC (6 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.96: +2 -5 lines
Diff to previous 1.96 (colored)

Remove VOP_LEASE. Discussed on tech-kern.

Revision 1.69.4.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:08 2008 UTC (6 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.6: +71 -91 lines
Diff to previous 1.69.4.6 (colored) to branchpoint 1.69 (colored)

sync with head

Revision 1.93.6.3 / (download) - annotate - [select for diffs], Thu Jan 10 23:44:44 2008 UTC (6 years, 6 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.93.6.2: +0 -8 lines
Diff to previous 1.93.6.2 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored)

Sync with HEAD

Revision 1.96 / (download) - annotate - [select for diffs], Wed Jan 9 16:15:23 2008 UTC (6 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.95: +2 -10 lines
Diff to previous 1.95 (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.91.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:27 2008 UTC (6 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.91.2.1: +82 -94 lines
Diff to previous 1.91.2.1 (colored) to branchpoint 1.91 (colored)

sync with HEAD

Revision 1.93.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:12:03 2008 UTC (6 years, 6 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.93.6.1: +3 -3 lines
Diff to previous 1.93.6.1 (colored) to branchpoint 1.93 (colored)

Sync with HEAD

Revision 1.95 / (download) - annotate - [select for diffs], Thu Jan 3 19:28:49 2008 UTC (6 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.94: +5 -5 lines
Diff to previous 1.94 (colored)

Use pool_cache.

Revision 1.93.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:20 2008 UTC (6 years, 6 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.93: +77 -89 lines
Diff to previous 1.93 (colored)

Sync with HEAD

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

Merge vmlocking2 to head.

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

Fix remaining problems with ext2fs on this branch.

Revision 1.93.2.3 / (download) - annotate - [select for diffs], Mon Dec 10 19:28:07 2007 UTC (6 years, 7 months ago) by ad
Branch: vmlocking2
Changes since 1.93.2.2: +2 -5 lines
Diff to previous 1.93.2.2 (colored) to branchpoint 1.93 (colored)

- Don't drain the vnode lock in vclean(); reference counting and XLOCK
  should be enough.
- LK_SETRECURSE is gone.

Revision 1.93.2.2 / (download) - annotate - [select for diffs], Sun Dec 9 22:58:04 2007 UTC (6 years, 7 months ago) by ad
Branch: vmlocking2
Changes since 1.93.2.1: +3 -3 lines
Diff to previous 1.93.2.1 (colored) to branchpoint 1.93 (colored)

LK_SETRECURSE is unused.

Revision 1.92.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:40 2007 UTC (6 years, 7 months ago) by mjf
Branch: mjf-devfs
Changes since 1.92: +5 -5 lines
Diff to previous 1.92 (colored)

Sync with HEAD.

Revision 1.69.4.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:20 2007 UTC (6 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.5: +5 -5 lines
Diff to previous 1.69.4.5 (colored) to branchpoint 1.69 (colored)

sync with head

Revision 1.93.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:47 2007 UTC (6 years, 7 months ago) by ad
Branch: vmlocking2
Changes since 1.93: +68 -85 lines
Diff to previous 1.93 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.89.4.4 / (download) - annotate - [select for diffs], Tue Nov 27 19:39:24 2007 UTC (6 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.89.4.3: +5 -5 lines
Diff to previous 1.89.4.3 (colored) to branchpoint 1.89 (colored) next main 1.90 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.93 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:30 2007 UTC (6 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.92: +5 -5 lines
Diff to previous 1.92 (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.91.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:14 2007 UTC (6 years, 8 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.91: +4 -4 lines
Diff to previous 1.91 (colored)

sync with HEAD

Revision 1.69.4.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:44 2007 UTC (6 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.4: +4 -4 lines
Diff to previous 1.69.4.4 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.89.4.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:31 2007 UTC (6 years, 9 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.89.4.2: +4 -4 lines
Diff to previous 1.89.4.2 (colored) to branchpoint 1.89 (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.91.4.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:17 2007 UTC (6 years, 9 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.91: +4 -4 lines
Diff to previous 1.91 (colored) next main 1.92 (colored)

sync with head.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:34 2007 UTC (6 years, 9 months 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.91: +4 -4 lines
Diff to previous 1.91 (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.86.4.13 / (download) - annotate - [select for diffs], Tue Oct 9 13:45:16 2007 UTC (6 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.12: +30 -4 lines
Diff to previous 1.86.4.12 (colored) to branchpoint 1.86 (colored) next main 1.87 (colored)

Sync with head.

Revision 1.86.4.12 / (download) - annotate - [select for diffs], Sun Sep 16 19:02:48 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.11: +14 -25 lines
Diff to previous 1.86.4.11 (colored) to branchpoint 1.86 (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.89.4.2 / (download) - annotate - [select for diffs], Mon Sep 3 16:49:15 2007 UTC (6 years, 10 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.89.4.1: +30 -4 lines
Diff to previous 1.89.4.1 (colored) to branchpoint 1.89 (colored)

Sync with HEAD.

Revision 1.69.4.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:46:50 2007 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.3: +113 -23 lines
Diff to previous 1.69.4.3 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.88.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:24:24 2007 UTC (6 years, 10 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.88.2.1: +30 -4 lines
Diff to previous 1.88.2.1 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)

Sync with HEAD.

Revision 1.86.4.11 / (download) - annotate - [select for diffs], Thu Aug 30 09:55:15 2007 UTC (6 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.10: +6 -9 lines
Diff to previous 1.86.4.10 (colored) to branchpoint 1.86 (colored)

bufcache_lock is sufficient to inspect v_dirtyblkhd, vp->v_interlock is only
needed to modify.

Revision 1.86.4.10 / (download) - annotate - [select for diffs], Fri Aug 24 23:28:45 2007 UTC (6 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.9: +25 -30 lines
Diff to previous 1.86.4.9 (colored) to branchpoint 1.86 (colored)

Sync with buffer cache locking changes. See buf.h/vfs_bio.c for details.
Some minor portions are incomplete and needs to be verified as a whole.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Aug 21 09:27:33 2007 UTC (6 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap, matt-armv6
Changes since 1.90: +30 -4 lines
Diff to previous 1.90 (colored)

Modify ffs_lock() to take care for changed v_vnlock.  Snapshots do not need
transferlockers() anymore.

From FreeBSD ffs_vnops.c Rev. 1.159

Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.86.4.9 / (download) - annotate - [select for diffs], Mon Aug 20 21:28:25 2007 UTC (6 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.8: +79 -12 lines
Diff to previous 1.86.4.8 (colored) to branchpoint 1.86 (colored)

Sync with HEAD.

Revision 1.89.4.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:04:01 2007 UTC (6 years, 11 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.89: +78 -11 lines
Diff to previous 1.89 (colored)

Sync with HEAD.

Revision 1.88.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:11 2007 UTC (6 years, 11 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.88: +79 -12 lines
Diff to previous 1.88 (colored)

Sync with HEAD.

Revision 1.90 / (download) - annotate - [select for diffs], Thu Aug 9 09:22:34 2007 UTC (6 years, 11 months ago) by hannken
Branch: MAIN
Changes since 1.89: +78 -11 lines
Diff to previous 1.89 (colored)

Move the fstrans-aware lock vnops from ufs to ffs.  Other ufs file systems
do not need them.

Ride on 4.99.28

Revision 1.89.6.2 / (download) - annotate - [select for diffs], Fri Jul 20 16:46:46 2007 UTC (7 years ago) by pooka
Branch: matt-mips64
Changes since 1.89.6.1: +729 -0 lines
Diff to previous 1.89.6.1 (colored) to branchpoint 1.89 (colored) next main 1.90 (colored)

In sync, skip over vnodes based on if they are clean rather than
if they have pages.

Revision 1.89.6.1, Fri Jul 20 16:46:45 2007 UTC (7 years ago) by pooka
Branch: matt-mips64
Changes since 1.89: +0 -729 lines
FILE REMOVED

file ffs_vnops.c was added on branch matt-mips64 on 2007-07-20 16:46:46 +0000

Revision 1.89 / (download) - annotate - [select for diffs], Fri Jul 20 16:46:45 2007 UTC (7 years ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 (colored)

In sync, skip over vnodes based on if they are clean rather than
if they have pages.

Revision 1.86.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:43 2007 UTC (7 years ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.86: +10 -13 lines
Diff to previous 1.86 (colored) next main 1.87 (colored)

Sync with head.

Revision 1.86.4.8 / (download) - annotate - [select for diffs], Sun Jul 1 21:17:06 2007 UTC (7 years ago) by ad
Branch: vmlocking
Changes since 1.86.4.7: +9 -5 lines
Diff to previous 1.86.4.7 (colored) to branchpoint 1.86 (colored)

Minor locking fixes.

Revision 1.86.4.7 / (download) - annotate - [select for diffs], Sat Jun 23 18:06:05 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.86.4.6: +8 -8 lines
Diff to previous 1.86.4.6 (colored) to branchpoint 1.86 (colored)

- Lock v_cleanblkhd, v_dirtyblkhd, v_numoutput with the vnode's interlock.
  Get rid of global_v_numoutput_lock. Partially incomplete as the buffer
  cache locking doesn't work very well and needs an overhaul.
- Some changes to try and make softdep MP safe. Untested.

Revision 1.86.4.6 / (download) - annotate - [select for diffs], Sat Jun 9 23:58:20 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.86.4.5: +5 -3 lines
Diff to previous 1.86.4.5 (colored) to branchpoint 1.86 (colored)

Sync with head.

Revision 1.86.4.5 / (download) - annotate - [select for diffs], Fri Jun 8 14:18:16 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.86.4.4: +7 -12 lines
Diff to previous 1.86.4.4 (colored) to branchpoint 1.86 (colored)

Sync with head.

Revision 1.88 / (download) - annotate - [select for diffs], Tue Jun 5 12:31:34 2007 UTC (7 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.87: +5 -3 lines
Diff to previous 1.87 (colored)

improve post-ubc file overwrite performance in common cases.
ie. when it's safe, actually overwrite blocks rather than doing
read-modify-write.

also fixes PR/33152 and PR/36303.

Revision 1.86.4.4 / (download) - annotate - [select for diffs], Sun May 27 00:14:03 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.3: +13 -5 lines
Diff to previous 1.86.4.3 (colored) to branchpoint 1.86 (colored)

ffs_sync: vp->v_data can be NULL if the vnode is being recycled.

Revision 1.85.2.2 / (download) - annotate - [select for diffs], Thu May 17 13:41:57 2007 UTC (7 years, 2 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.85.2.1: +7 -12 lines
Diff to previous 1.85.2.1 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored)

sync with head.

Revision 1.87 / (download) - annotate - [select for diffs], Thu May 17 07:26:23 2007 UTC (7 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.86: +7 -12 lines
Diff to previous 1.86 (colored)

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

Revision 1.86.4.3 / (download) - annotate - [select for diffs], Sun May 13 17:36:43 2007 UTC (7 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.2: +24 -29 lines
Diff to previous 1.86.4.2 (colored) to branchpoint 1.86 (colored)

- Pass the error number and residual count to biodone(), and let it handle
  setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
  of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
  create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.

Revision 1.86.4.2 / (download) - annotate - [select for diffs], Wed Mar 21 20:11:58 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.86.4.1: +5 -10 lines
Diff to previous 1.86.4.1 (colored) to branchpoint 1.86 (colored)

- Replace more simple_locks, and fix up in a few places.
- Use condition variables.
- LOCK_ASSERT -> KASSERT.

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

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

Revision 1.85.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:21 2007 UTC (7 years, 4 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.85: +3 -2 lines
Diff to previous 1.85 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.69.4.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:20 2007 UTC (7 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.2: +55 -18 lines
Diff to previous 1.69.4.2 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.86 / (download) - annotate - [select for diffs], Tue Feb 20 16:21:04 2007 UTC (7 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.85: +3 -2 lines
Diff to previous 1.85 (colored)

Call genfs_node_destroy() where appropriate.

Revision 1.81.4.2 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:48 2007 UTC (7 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.81.4.1: +54 -18 lines
Diff to previous 1.81.4.1 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored)

Sync with head.

Revision 1.85 / (download) - annotate - [select for diffs], Mon Jan 29 15:42:50 2007 UTC (7 years, 5 months ago) by hannken
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.84: +8 -8 lines
Diff to previous 1.84 (colored)

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

From Antti Kantee <pooka@netbsd.org>

Revision 1.84 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:12 2007 UTC (7 years, 6 months ago) by hannken
Branch: MAIN
Changes since 1.83: +54 -18 lines
Diff to previous 1.83 (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.69.4.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:01 2006 UTC (7 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.4.1: +4 -4 lines
Diff to previous 1.69.4.1 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.81.6.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:32 2006 UTC (7 years, 7 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.81.6.1: +3 -3 lines
Diff to previous 1.81.6.1 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored)

sync with head.

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

Sync with head.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:53 2006 UTC (7 years, 8 months 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.82: +3 -3 lines
Diff to previous 1.82 (colored)

__unused removal on arguments; approved by core.

Revision 1.81.6.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:50 2006 UTC (7 years, 9 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored)

sync with head

Revision 1.82 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:51 2006 UTC (7 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored)

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

Revision 1.77.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:00 2006 UTC (7 years, 10 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.77: +13 -16 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

sync with head

Revision 1.77.8.4 / (download) - annotate - [select for diffs], Fri Aug 11 15:47:36 2006 UTC (7 years, 11 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.77.8.3: +4 -4 lines
Diff to previous 1.77.8.3 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

sync with head

Revision 1.81 / (download) - annotate - [select for diffs], Sun Jul 23 22:06:15 2006 UTC (8 years ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, rpaulo-netinet-merge-pcb-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.80: +4 -4 lines
Diff to previous 1.80 (colored)

Use the LWP cached credentials where sane.

Revision 1.69.4.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:31 2006 UTC (8 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69: +178 -99 lines
Diff to previous 1.69 (colored)

sync with head.

Revision 1.77.6.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:39:29 2006 UTC (8 years, 1 month ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.77.6.1: +13 -12 lines
Diff to previous 1.77.6.1 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

Sync with head.

Revision 1.77.12.2 / (download) - annotate - [select for diffs], Wed May 24 15:50:48 2006 UTC (8 years, 2 months ago) by tron
Branch: peter-altq
Changes since 1.77.12.1: +13 -17 lines
Diff to previous 1.77.12.1 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

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

Revision 1.77.8.3 / (download) - annotate - [select for diffs], Wed May 24 10:59:25 2006 UTC (8 years, 2 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.77.8.2: +13 -12 lines
Diff to previous 1.77.8.2 (colored) to branchpoint 1.77 (colored)

sync with head.

Revision 1.80 / (download) - annotate - [select for diffs], Sun May 14 21:32:45 2006 UTC (8 years, 2 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.79: +13 -12 lines
Diff to previous 1.79 (colored)

integrate kauth.

Revision 1.77.10.3 / (download) - annotate - [select for diffs], Sat May 6 23:32:33 2006 UTC (8 years, 2 months ago) by christos
Branch: elad-kernelauth
Changes since 1.77.10.2: +3 -2 lines
Diff to previous 1.77.10.2 (colored) to branchpoint 1.77 (colored) next main 1.78 (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.77.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:24 2006 UTC (8 years, 3 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.77: +2 -6 lines
Diff to previous 1.77 (colored)

Sync with head.

Revision 1.77.10.2 / (download) - annotate - [select for diffs], Wed Apr 19 03:54:09 2006 UTC (8 years, 3 months ago) by elad
Branch: elad-kernelauth
Changes since 1.77.10.1: +2 -6 lines
Diff to previous 1.77.10.1 (colored) to branchpoint 1.77 (colored)

sync with head.

Revision 1.77.8.2 / (download) - annotate - [select for diffs], Tue Apr 11 11:55:48 2006 UTC (8 years, 3 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.77.8.1: +2 -7 lines
Diff to previous 1.77.8.1 (colored) to branchpoint 1.77 (colored)

sync with head

Revision 1.79 / (download) - annotate - [select for diffs], Sun Apr 9 21:59:35 2006 UTC (8 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, elad-kernelauth-base
Changes since 1.78: +2 -7 lines
Diff to previous 1.78 (colored)

ffs_gop_size: revert a problematic part of 1.78.
problems reported by Kouichirou Hiratsuka and Jukka Salmi on current-users@.

Revision 1.77.8.1 / (download) - annotate - [select for diffs], Sat Apr 1 12:07:51 2006 UTC (8 years, 3 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.77: +6 -5 lines
Diff to previous 1.77 (colored)

sync with head.

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

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

Revision 1.78 / (download) - annotate - [select for diffs], Thu Mar 30 12:40:06 2006 UTC (8 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base3
Changes since 1.77: +6 -5 lines
Diff to previous 1.77 (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.77.10.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:39:12 2006 UTC (8 years, 4 months ago) by elad
Branch: elad-kernelauth
Changes since 1.77: +12 -12 lines
Diff to previous 1.77 (colored)

Adapt to kernel authorization KPI.

Revision 1.77 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:25 2005 UTC (8 years, 7 months ago) by christos
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.76: +8 -8 lines
Diff to previous 1.76 (colored)

merge ktrace-lwp.

Revision 1.59.2.7 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:32 2005 UTC (8 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.6: +169 -87 lines
Diff to previous 1.59.2.6 (colored) next main 1.60 (colored)

Sync with HEAD. Here we go again...

Revision 1.76 / (download) - annotate - [select for diffs], Wed Nov 2 12:39:00 2005 UTC (8 years, 8 months 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.75: +4 -23 lines
Diff to previous 1.75 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.75.2.2 / (download) - annotate - [select for diffs], Sat Oct 29 17:21:12 2005 UTC (8 years, 8 months ago) by yamt
Branch: yamt-vop
Changes since 1.75.2.1: +4 -4 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

use ffs_* directly rather than via ufs_ops.
suggested by Chuck Silvers.

Revision 1.69.2.2 / (download) - annotate - [select for diffs], Fri Oct 21 11:25:56 2005 UTC (8 years, 9 months 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.69.2.1: +3 -55 lines
Diff to previous 1.69.2.1 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

Pull up following revision(s) (requested by yamt in ticket #845):
	sys/ufs/ffs/ffs_extern.h: revision 1.45 via patch
	sys/ufs/ffs/ffs_vnops.c: revision 1.75 via patch
revert the code to expand putpage requests to block boundary.
because:
	- it was incomplete in some cases.
	- it can confuse pagedaemon.
see PR/15364 for details.

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 03:00:30 2005 UTC (8 years, 9 months ago) by yamt
Branch: yamt-vop
Changes since 1.75: +4 -23 lines
Diff to previous 1.75 (colored)

adapt ufs.

Revision 1.75 / (download) - annotate - [select for diffs], Fri Sep 9 15:00:39 2005 UTC (8 years, 10 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.74: +3 -55 lines
Diff to previous 1.74 (colored)

revert the code to expand putpage requests to block boundary.
because:
	- it was incomplete in some cases.
	- it can confuse pagedaemon.
see PR/15364 for details.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Aug 30 22:01:12 2005 UTC (8 years, 10 months ago) by xtraeme
Branch: MAIN
Changes since 1.73: +6 -6 lines
Diff to previous 1.73 (colored)

* Remove __P()
* Use ANSI function declarations on ext2fs and mfs

Revision 1.73 / (download) - annotate - [select for diffs], Sun Aug 28 19:37:59 2005 UTC (8 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +158 -2 lines
Diff to previous 1.72 (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.69.2.1 / (download) - annotate - [select for diffs], Wed Aug 24 18:43:37 2005 UTC (8 years, 11 months ago) by riz
Branch: netbsd-3
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (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.72 / (download) - annotate - [select for diffs], Tue Jul 26 12:14:46 2005 UTC (9 years ago) by yamt
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

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.71 / (download) - annotate - [select for diffs], Thu Jul 21 22:00:08 2005 UTC (9 years ago) by yamt
Branch: MAIN
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

ffs_full_fsync: because VBLK/VCHR can be mmap'ed,
do VOP_PUTPAGES for them as well.

Revision 1.70 / (download) - annotate - [select for diffs], Fri Jul 15 05:01:16 2005 UTC (9 years ago) by thorpej
Branch: MAIN
Changes since 1.69: +5 -8 lines
Diff to previous 1.69 (colored)

Use ANSI function decls.

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

sync with -current

Revision 1.66.10.2 / (download) - annotate - [select for diffs], Sat Mar 19 08:37:03 2005 UTC (9 years, 4 months ago) by yamt
Branch: yamt-km
Changes since 1.66.10.1: +4 -4 lines
Diff to previous 1.66.10.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.59.2.6 / (download) - annotate - [select for diffs], Fri Mar 4 16:54:46 2005 UTC (9 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.5: +4 -4 lines
Diff to previous 1.59.2.5 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.69 / (download) - annotate - [select for diffs], Sat Feb 26 22:32:20 2005 UTC (9 years, 4 months ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, kent-audio2-base
Branch point for: yamt-lazymbuf, netbsd-3
Changes since 1.68: +4 -4 lines
Diff to previous 1.68 (colored)

nuke trailing whitespace

Revision 1.66.10.1 / (download) - annotate - [select for diffs], Sat Feb 12 18:17:56 2005 UTC (9 years, 5 months ago) by yamt
Branch: yamt-km
Changes since 1.66: +21 -5 lines
Diff to previous 1.66 (colored)

sync with head.

Revision 1.59.2.5 / (download) - annotate - [select for diffs], Fri Feb 4 11:48:27 2005 UTC (9 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.4: +21 -5 lines
Diff to previous 1.59.2.4 (colored)

Sync with HEAD.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Jan 27 02:16:42 2005 UTC (9 years, 5 months ago) by wrstuden
Branch: MAIN
CVS Tags: yamt-km-base2, matt-timespec
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Fix pasto in previous. We only perform the DIOCCACHESYNC call if
FSYNC_CACHE is set, not if FSYNC_WAIT is set.

Revision 1.67 / (download) - annotate - [select for diffs], Tue Jan 25 23:55:21 2005 UTC (9 years, 6 months ago) by wrstuden
Branch: MAIN
Changes since 1.66: +21 -5 lines
Diff to previous 1.66 (colored)

Extend fsync_range(2) to support the FDISKSYNC flag, which requests
that the sync be propogated out through the disk drive caches.

Revision 1.59.2.4 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:09 2004 UTC (9 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.3: +6 -6 lines
Diff to previous 1.59.2.3 (colored)

Fix the sync with head I botched.

Revision 1.59.2.3 / (download) - annotate - [select for diffs], Sat Sep 18 14:56:52 2004 UTC (9 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.2: +6 -6 lines
Diff to previous 1.59.2.2 (colored)

Sync with HEAD.

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:56:50 2004 UTC (9 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.59.2.1: +35 -30 lines
Diff to previous 1.59.2.1 (colored)

Sync with HEAD

Revision 1.66 / (download) - annotate - [select for diffs], Sat Nov 15 01:19:38 2003 UTC (10 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-km-base, 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, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.65: +4 -3 lines
Diff to previous 1.65 (colored)

Kernel portion of the fsync_range(2) system call.  Written by Bill
Studenmund, and contributed by Wasabi Systems, Inc.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Nov 8 07:13:57 2003 UTC (10 years, 8 months ago) by jdolecek
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

fix uninitialized variable use in previous change (!)

Revision 1.64 / (download) - annotate - [select for diffs], Sat Nov 8 06:00:39 2003 UTC (10 years, 8 months ago) by dbj
Branch: MAIN
Changes since 1.63: +10 -10 lines
Diff to previous 1.63 (colored)

always do a full fsync if vp->v_type != VREG
in partial fsync, only use PGO_SYNCIO if FSYNC_WAIT is specified

Revision 1.63 / (download) - annotate - [select for diffs], Sat Nov 8 04:39:00 2003 UTC (10 years, 8 months ago) by dbj
Branch: MAIN
Changes since 1.62: +10 -4 lines
Diff to previous 1.62 (colored)

protect use of buf's b_flags with b_interlock

Revision 1.62 / (download) - annotate - [select for diffs], Sat Nov 8 04:22:36 2003 UTC (10 years, 8 months ago) by dbj
Branch: MAIN
Changes since 1.61: +13 -8 lines
Diff to previous 1.61 (colored)

protect a few uses of buf's b_flags with b_interlock

Revision 1.61 / (download) - annotate - [select for diffs], Sat Oct 25 19:52:21 2003 UTC (10 years, 9 months ago) by kleink
Branch: MAIN
Changes since 1.60: +5 -8 lines
Diff to previous 1.60 (colored)

Remove the present incarnation of FSYNC_DATAONLY use from ffs_fsync() and
ffs_full_fsync(); while it is supposed to hint that the update of _file_
metadata (as in timestamps et al.) may be omitted it doesn't mean the
same for _filesystem_ metadata.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:32 2003 UTC (10 years, 11 months ago) by agc
Branch: MAIN
Changes since 1.59: +3 -7 lines
Diff to previous 1.59 (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.59.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:22 2003 UTC (11 years ago) by darrenr
Branch: ktrace-lwp
Changes since 1.59: +6 -6 lines
Diff to previous 1.59 (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.59 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:37 2003 UTC (11 years ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.58: +4 -4 lines
Diff to previous 1.58 (colored)

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

Revision 1.58 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:26 2003 UTC (11 years ago) by darrenr
Branch: MAIN
Changes since 1.57: +6 -6 lines
Diff to previous 1.57 (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.57 / (download) - annotate - [select for diffs], Wed Apr 16 07:38:25 2003 UTC (11 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.56: +8 -6 lines
Diff to previous 1.56 (colored)

ffs_reclaim may be called while the dinode pointer in the inode structure
is still NULL (in the case of an error in ffs_vget). Check for this
condition before doing a pool_put.

Revision 1.56 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:38 2003 UTC (11 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.55: +9 -3 lines
Diff to previous 1.55 (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.55 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:15 2003 UTC (11 years, 5 months ago) by perseant
Branch: MAIN
Changes since 1.54: +7 -3 lines
Diff to previous 1.54 (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.54 / (download) - annotate - [select for diffs], Wed Feb 5 21:38:44 2003 UTC (11 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.53: +10 -5 lines
Diff to previous 1.53 (colored)

Make the buffer cache code MP-safe.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Jan 29 03:06:40 2003 UTC (11 years, 5 months ago) by simonb
Branch: MAIN
Changes since 1.52: +2 -4 lines
Diff to previous 1.52 (colored)

Remove variable that is only assigned to but not referenced.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Jan 24 21:55:24 2003 UTC (11 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.51: +4 -4 lines
Diff to previous 1.51 (colored)

Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.

Revision 1.37.2.9 / (download) - annotate - [select for diffs], Mon Nov 11 22:16:51 2002 UTC (11 years, 8 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.37.2.8: +6 -5 lines
Diff to previous 1.37.2.8 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored)

Catch up to -current

Revision 1.51 / (download) - annotate - [select for diffs], Fri Nov 1 21:11:43 2002 UTC (11 years, 8 months ago) by kristerw
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.50: +2 -5 lines
Diff to previous 1.50 (colored)

Removed unused variables doclusterread and doclusterwrite.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Oct 23 09:15:06 2002 UTC (11 years, 9 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge
Changes since 1.49: +6 -2 lines
Diff to previous 1.49 (colored)

merge kqueue branch into -current

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

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

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

Revision 1.37.6.7 / (download) - annotate - [select for diffs], Wed Sep 25 21:38:12 2002 UTC (11 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.37.6.6: +3 -3 lines
Diff to previous 1.37.6.6 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored)

switch over to genfs_kqfilter(), g/c the ufs_kqfilter() code

Revision 1.37.6.6 / (download) - annotate - [select for diffs], Mon Sep 23 11:39:09 2002 UTC (11 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.37.6.5: +3 -2 lines
Diff to previous 1.37.6.5 (colored) to branchpoint 1.37 (colored)

add spec kqfilter vnode op

Revision 1.37.6.5 / (download) - annotate - [select for diffs], Sun Sep 22 11:35:07 2002 UTC (11 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.37.6.4: +3 -2 lines
Diff to previous 1.37.6.4 (colored) to branchpoint 1.37 (colored)

add fifo_kqfilter() to ffs_fifoop_entries[], to switch on
support for kevents on fifos on FFS

Revision 1.37.2.8 / (download) - annotate - [select for diffs], Tue Jul 16 14:06:13 2002 UTC (12 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.7: +3 -3 lines
Diff to previous 1.37.2.7 (colored) to branchpoint 1.37 (colored)

pagedaemon_proc really should be a proc, not a LWP.

Revision 1.37.2.7 / (download) - annotate - [select for diffs], Mon Jun 24 22:12:30 2002 UTC (12 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.6: +3 -3 lines
Diff to previous 1.37.2.6 (colored) to branchpoint 1.37 (colored)

Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.37.6.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:52:09 2002 UTC (12 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.37.6.3: +59 -3 lines
Diff to previous 1.37.6.3 (colored) to branchpoint 1.37 (colored)

catch up with -current on kqueue branch

Revision 1.37.2.6 / (download) - annotate - [select for diffs], Thu Jun 20 03:50:25 2002 UTC (12 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.5: +59 -3 lines
Diff to previous 1.37.2.5 (colored) to branchpoint 1.37 (colored)

Catch up to -current.

Revision 1.49 / (download) - annotate - [select for diffs], Sun May 5 17:00:06 2002 UTC (12 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-beforemerge, kqueue-base, gehenna-devsw-base, gehenna-devsw
Changes since 1.48: +59 -3 lines
Diff to previous 1.48 (colored)

for softdep vnodes, always write together the pages for any block that
might have a dependency , since the accounting doesn't work otherwise.
fixes PRs 15364 16336 16448.

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Tue Feb 26 21:18:05 2002 UTC (12 years, 4 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.31.2.1: +11 -4 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Pull up revision 1.47 (via patch, requested by fvdl):
  Correct a mistake made in the original merge-in of the softdep
  code, and fix a problem which caused ffs_fsync to do unneeded
  sync writes.

Revision 1.37.6.3 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:06 2002 UTC (12 years, 6 months ago) by thorpej
Branch: kqueue
Changes since 1.37.6.2: +80 -41 lines
Diff to previous 1.37.6.2 (colored) to branchpoint 1.37 (colored)

Sync kqueue branch with -current.

Revision 1.37.2.5 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:48 2002 UTC (12 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.4: +12 -5 lines
Diff to previous 1.37.2.4 (colored) to branchpoint 1.37 (colored)

Catch up to -current.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Dec 31 21:37:22 2001 UTC (12 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base, newlock, ifpoll-base, ifpoll, eeh-devprop-base, eeh-devprop
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (colored)

Do not compare an integer to NULL.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Dec 27 01:44:59 2001 UTC (12 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.46: +12 -5 lines
Diff to previous 1.46 (colored)

The softdep code sometimes use vfs_vget .. vput. For removals, these
would result in a vop_inactive call for the vnode each time, resulting
in vinvalbuf->fsync. The original softdep code avoided the fsync
in vinvalbuf by not calling it if there were no dirty blocks. This
was changed in NetBSD. Also, flush_inodedeps was changed to mark
the inode as modified so that it would do an inode update and flush the
last one. This combination basically caused a sync write for each removed
file in an rm -rf (showing up delayed from the syncer a lot of the time).

If called from vinvalbuf (FSYNC_RECLAIM), and there were no dirty blocks
or pages to begin with, still do everything as normal, so that possible dirty
blocks in transit to disk are properly waited for, etc, but don't pass
UPDATE_WAIT to VOP_UPDATE, since there is no need for it in that case.

Revision 1.37.2.4 / (download) - annotate - [select for diffs], Wed Nov 14 19:18:57 2001 UTC (12 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.3: +15 -18 lines
Diff to previous 1.37.2.3 (colored) to branchpoint 1.37 (colored)

Catch up to -current.

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:46 2001 UTC (12 years, 8 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.42: +15 -18 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

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

Revision 1.46 / (download) - annotate - [select for diffs], Thu Nov 8 04:52:31 2001 UTC (12 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.45: +12 -16 lines
Diff to previous 1.45 (colored)

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

Revision 1.45 / (download) - annotate - [select for diffs], Tue Nov 6 07:11:29 2001 UTC (12 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.44: +3 -4 lines
Diff to previous 1.44 (colored)

Remove some variables that are set but never used.

Revision 1.44 / (download) - annotate - [select for diffs], Tue Oct 30 01:11:54 2001 UTC (12 years, 8 months ago) by lukem
Branch: MAIN
Changes since 1.43: +4 -1 lines
Diff to previous 1.43 (colored)

add __KERNEL_RCSID()

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

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

Revision 1.38.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:25 2001 UTC (12 years, 9 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.38: +64 -29 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

Catch up with -current.

Revision 1.37.2.3 / (download) - annotate - [select for diffs], Wed Sep 26 19:55:13 2001 UTC (12 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.2: +14 -9 lines
Diff to previous 1.37.2.2 (colored) to branchpoint 1.37 (colored)

Catch up to -current.
Again.

Revision 1.42 / (download) - annotate - [select for diffs], Wed Sep 26 06:20:50 2001 UTC (12 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.41: +6 -4 lines
Diff to previous 1.41 (colored)

undo the part of the previous revision about skipping
the put if there are no pages, that seems to cause some problem.
fix another problem with missing an splx(), spotted by enami.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Sep 26 05:25:03 2001 UTC (12 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.40: +11 -9 lines
Diff to previous 1.40 (colored)

be sure to call the pager put with page-aligned offsets.
spotted by Nathan Williams.

while I'm here, move an splbio() so that we don't return without
splx()ing it if there's an error, and don't bother calling the
pager put if the vnode has no pages.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Sep 22 22:35:19 2001 UTC (12 years, 10 months ago) by sommerfeld
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

Add fifo_putpages() placebo so that the vnode's uobj is unlocked.

Revision 1.37.2.2 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:06 2001 UTC (12 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.37.2.1: +55 -25 lines
Diff to previous 1.37.2.1 (colored) to branchpoint 1.37 (colored)

Catch up to -current.

Revision 1.39 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:43 2001 UTC (12 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.38: +55 -25 lines
Diff to previous 1.38 (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.37.6.2 / (download) - annotate - [select for diffs], Sat Aug 25 06:17:18 2001 UTC (12 years, 11 months ago) by thorpej
Branch: kqueue
Changes since 1.37.6.1: +4 -1 lines
Diff to previous 1.37.6.1 (colored) to branchpoint 1.37 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:19 2001 UTC (12 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.37: +4 -1 lines
Diff to previous 1.37 (colored)

Catch up with -current.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Aug 17 05:54:37 2001 UTC (12 years, 11 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.37: +4 -1 lines
Diff to previous 1.37 (colored)

add getpages/putpages entries for spec vnodes.

Revision 1.37.6.1 / (download) - annotate - [select for diffs], Tue Jul 10 13:53:24 2001 UTC (13 years ago) by lukem
Branch: kqueue
Changes since 1.37: +3 -1 lines
Diff to previous 1.37 (colored)

add ufs_kqfilter method for vop_kqfilter

Revision 1.19.2.4 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:42 2001 UTC (13 years, 5 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.3: +7 -7 lines
Diff to previous 1.19.2.3 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Sync with HEAD.

Revision 1.37 / (download) - annotate - [select for diffs], Mon Jan 22 12:17:43 2001 UTC (13 years, 6 months ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, perseant-lfsv2-base, perseant-lfsv2
Branch point for: nathanw_sa, kqueue
Changes since 1.36: +7 -7 lines
Diff to previous 1.36 (colored)

make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Thu Dec 14 23:36:48 2000 UTC (13 years, 7 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.31: +91 -3 lines
Diff to previous 1.31 (colored)

Pull up revisions 1.33-1.34 (requested by fvdl):
  Improve NFS performance, possibly with as much as 100% in
  throughput.  Please note: this implies a kernel interface change,
  VOP_FSYNC gains two arguments.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Wed Dec 13 15:50:43 2000 UTC (13 years, 7 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.2: +1 -1 lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored)

Sync with HEAD (for UBC fixes).

Revision 1.36 / (download) - annotate - [select for diffs], Sun Dec 10 19:41:35 2000 UTC (13 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

call pgo_flush with (start,end) rather than (start,length).

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:12 2000 UTC (13 years, 7 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.1: +68 -34 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored)

Sync with HEAD.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:55 2000 UTC (13 years, 8 months ago) by chs
Branch: MAIN
Changes since 1.34: +68 -34 lines
Diff to previous 1.34 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:11:46 2000 UTC (13 years, 8 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19: +199 -7 lines
Diff to previous 1.19 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.34 / (download) - annotate - [select for diffs], Tue Oct 24 14:43:32 2000 UTC (13 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.33: +3 -5 lines
Diff to previous 1.33 (colored)

Stay at splbio across the VBWAIT loop, as is done elsewhere in the
kernel. Avoids a possible race condition. Pointed out by
enami@netbsd.org, problem reported by deberg@netbsd.org.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Sep 19 22:04:10 2000 UTC (13 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.32: +93 -3 lines
Diff to previous 1.32 (colored)

Adapt for VOP_FSYNC parameter change.

Implement range fsync for FFS. Note: not yet implemented for the
SOFTDEP case.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Jun 28 14:16:40 2000 UTC (14 years ago) by mrg
Branch: MAIN
Changes since 1.31: +1 -5 lines
Diff to previous 1.31 (colored)

remove include of <vm/vm.h> and <uvm/uvm_extern.h>

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:10:34 2000 UTC (14 years, 1 month ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.28: +30 -38 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.31 / (download) - annotate - [select for diffs], Mon May 29 18:53:35 2000 UTC (14 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Changes since 1.30: +2 -3 lines
Diff to previous 1.30 (colored)

According to Frank, buffers with dependencies *are* left on v_dirtyblks, so
remove the FSYNC_RECLAIM check and force them to be flushed.

Revision 1.30 / (download) - annotate - [select for diffs], Mon May 29 17:19:20 2000 UTC (14 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.29: +3 -2 lines
Diff to previous 1.29 (colored)

Never call softdep_sync_metadata() in the FSYNC_RECLAIM case.  Any pending
blocks are detached from the vnode at this point.  When the dependencies are
broken to enable writing the blocks, the vnode will be regenerated.  (The only
reason we sync buffers in this case is that they have to be detached from the
vnode.)

Revision 1.29 / (download) - annotate - [select for diffs], Mon May 29 17:12:06 2000 UTC (14 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.28: +30 -38 lines
Diff to previous 1.28 (colored)

In ffs_fsync(), remove the FSYNC_RECLAIM special case, so that it properly
waits for pending buffers, and doesn't throw away time stamp updates.

Revision 1.28 / (download) - annotate - [select for diffs], Sat May 27 04:52:42 2000 UTC (14 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.27: +3 -2 lines
Diff to previous 1.27 (colored)

sleep() -> tsleep()

Revision 1.27 / (download) - annotate - [select for diffs], Sat May 13 23:43:14 2000 UTC (14 years, 2 months ago) by perseant
Branch: MAIN
Changes since 1.26: +3 -2 lines
Diff to previous 1.26 (colored)

Change the sementics of the last parameter from a boolean ("waitfor") to
a set of flags ("flags").  Two flags are defined, UPDATE_WAIT and
UPDATE_DIROP.

Under the old semantics, VOP_UPDATE would block if waitfor were set,
under the assumption that directory operations should be done
synchronously.  At least LFS and FFS+softdep do not make this
assumption; FFS+softdep got around the problem by enclosing all relevant
calls to VOP_UPDATE in a "if(!DOINGSOFTDEP(vp))", while LFS simply
ignored waitfor, one of the reasons why NFS-serving an LFS filesystem
did not work properly.

Under the new semantics, the UPDATE_DIROP flag is a hint to the
fs-specific update routine that the call comes from a dirop routine, and
should be wait for, or not, accordingly.

Closes PR#8996.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 30 12:41:13 2000 UTC (14 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Remove register declarations.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Mar 29 03:43:34 2000 UTC (14 years, 3 months ago) by simonb
Branch: MAIN
Changes since 1.24: +1 -2 lines
Diff to previous 1.24 (colored)

Don't need to include <sys/conf.h> here.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Mar 17 01:26:52 2000 UTC (14 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.23: +4 -1 lines
Diff to previous 1.23 (colored)

If we're reclaiming, and there are no dirty blocks, just return.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Mar 15 16:31:52 2000 UTC (14 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.22: +2 -12 lines
Diff to previous 1.22 (colored)

Revert this back to 2 revisions ago, these checks are done higher up now.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Mar 14 13:06:29 2000 UTC (14 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Don't immediately return in ffs_fsync if there appears to be no data
to flush if it's a vnode on a softdep filesystem. softdep_sync_metadata
may still need to do some work.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 11 05:00:19 2000 UTC (14 years, 4 months ago) by perseant
Branch: MAIN
Changes since 1.20: +13 -2 lines
Diff to previous 1.20 (colored)

Move vinvalbuf's check for dirty blocks into ffs_fsync, to ensure that
mode and ownership bits are flushed to disk before the vnode is
reclaimed.

The check, introduced in the softdep merge, assumes that if no blocks
are dirty, no file data *or metadata* needs to be flushed to disk.  This
is true of ffs, but is not true of lfs, and may not be true of other
filesystems.

Tested by myself and Bill Squier <groo@cs.stevens-tech.edu>.

Revision 1.19.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:37 1999 UTC (14 years, 7 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.19: +112 -1 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Pull up to last week's -current.

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

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

Bump version number to 1.4O

Revision 1.19.4.2 / (download) - annotate - [select for diffs], Tue Oct 26 19:15:19 1999 UTC (14 years, 9 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.19.4.1: +40 -20 lines
Diff to previous 1.19.4.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Merge changes in the trickle-sync and softdep code as done by Kirk McKusick
in FreeBSD since the version that we based the branch on. Merging mostly
done by Ethan Solomita <ethan@geocast.com>.

Also, make sure the syncer thread/process isn't active when we're
unmounting a filesystem. This could wreak havoc. XXX should be done
on a per-mountpoint basis, but especially the softdep code would
end up to be a big pile of vfs_busy() calls.

Revision 1.19.4.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:38 1999 UTC (14 years, 9 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.19: +92 -1 lines
Diff to previous 1.19 (colored)

Bring in Kirk McKusick's FFS softdep code on a branch.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 3 20:19:21 1999 UTC (14 years, 11 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.18: +4 -1 lines
Diff to previous 1.18 (colored)

Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl
call with F_FSCTL set and F_SETFL calls generate calls to a new
fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0
for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems
use genfs_fcntl().

Reviewed by: thorpej
Tested by: wrstuden

Revision 1.18.4.2 / (download) - annotate - [select for diffs], Sun Jul 4 01:52:49 1999 UTC (15 years ago) by chs
Branch: chs-ubc2
Changes since 1.18.4.1: +2 -310 lines
Diff to previous 1.18.4.1 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

support VOP_BALLOC().  ffs_getpages() and ffs_putpages() are gone
in favor of the genfs versions.

Revision 1.18.4.1 / (download) - annotate - [select for diffs], Mon Jun 7 04:25:34 1999 UTC (15 years, 1 month ago) by chs
Branch: chs-ubc2
Changes since 1.18: +321 -5 lines
Diff to previous 1.18 (colored)

merge everything from chs-ubc branch.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Wed Jun 2 05:05:24 1999 UTC (15 years, 1 month ago) by chs
Branch: chs-ubc
Changes since 1.16.2.5: +66 -56 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

use the new flags PG_RDONLY and UFP_NORDONLY to ensure that
any page which becomes dirty will have backing store allocated.

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Sun May 30 15:16:01 1999 UTC (15 years, 1 month ago) by chs
Branch: chs-ubc
Changes since 1.16.2.4: +110 -109 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

redo ffs_getpages() and ffs_putpages() again since vm_page's
blkno field is gone.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Thu Apr 29 05:33:35 1999 UTC (15 years, 3 months ago) by chs
Branch: chs-ubc
Changes since 1.16.2.3: +3 -3 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

disable buffer-cache clustering.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:30 1999 UTC (15 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, chs-ubc2-base
Branch point for: chs-ubc2
Changes since 1.17: +1 -7 lines
Diff to previous 1.17 (colored)

completely remove Mach VM support.  all that is left is the all the
header files as UVM still uses (most of) these.

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Thu Feb 25 03:58:29 1999 UTC (15 years, 5 months ago) by chs
Branch: chs-ubc
Changes since 1.16.2.2: +160 -119 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

major overhaul of getpages and putpages functions.

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

No need to #include malloc.h here.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Mon Nov 16 08:25:38 1998 UTC (15 years, 8 months ago) by chs
Branch: chs-ubc
Changes since 1.16.2.1: +4 -4 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

fix style nits.

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Mon Nov 9 06:06:36 1998 UTC (15 years, 8 months ago) by chs
Branch: chs-ubc
Changes since 1.16: +267 -2 lines
Diff to previous 1.16 (colored)

initial snapshot.  lots left to do.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Sep 1 03:11:08 1998 UTC (15 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc-base
Branch point for: chs-ubc
Changes since 1.15: +7 -3 lines
Diff to previous 1.15 (colored)

Use the pool allocator and the "nointr" pool page allocator for FFS inodes.

XXX MFS also comes in here for inodes, and used a different malloc type,
but the structure is the same, so we just use the FFS inode pool.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 24 20:58:48 1998 UTC (16 years, 1 month ago) by sommerfe
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.14: +1 -4 lines
Diff to previous 1.14 (colored)

Always include fifos; "not an option any more".

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jun 22 22:01:09 1998 UTC (16 years, 1 month ago) by sommerfe
Branch: MAIN
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored)

defopt for options FIFO

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 9 07:46:33 1998 UTC (16 years, 1 month ago) by scottr
Branch: MAIN
Changes since 1.12: +3 -1 lines
Diff to previous 1.12 (colored)

Protect various config(8)-generated files from inclusion while
building LKMs.  Fixes PR 5557.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:15 1998 UTC (16 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.11: +7 -15 lines
Diff to previous 1.11 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:14:04 1998 UTC (16 years, 4 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +33 -13 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:45 1998 UTC (16 years, 4 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +45 -26 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.11 / (download) - annotate - [select for diffs], Tue Feb 10 14:10:57 1998 UTC (16 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Feb 5 08:00:34 1998 UTC (16 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.9: +5 -1 lines
Diff to previous 1.9 (colored)

initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)

Revision 1.9 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:39 1996 UTC (17 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, thorpej-setroot, 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, mrg-vm-swap, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia, is-newarp-before-merge, is-newarp-base, is-newarp, bouyer-scsipi
Changes since 1.8: +4 -4 lines
Diff to previous 1.8 (colored)

Implement poll(2).

Revision 1.8 / (download) - annotate - [select for diffs], Sun Sep 1 23:49:24 1996 UTC (17 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +6 -27 lines
Diff to previous 1.7 (colored)

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

Revision 1.7 / (download) - annotate - [select for diffs], Sat May 11 18:27:24 1996 UTC (18 years, 2 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.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:22:27 1996 UTC (18 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.5: +17 -14 lines
Diff to previous 1.5 (colored)

ffs prototypes

Revision 1.5 / (download) - annotate - [select for diffs], Wed Dec 14 13:03:41 1994 UTC (19 years, 7 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: +3 -2 lines
Diff to previous 1.4 (colored)

Sync with CSRG.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 13 20:16:16 1994 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +5 -3 lines
Diff to previous 1.3 (colored)

Turn lease_check() into a vnode op, per CSRG.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 29 06:46:38 1994 UTC (20 years, 1 month 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], Wed Jun 22 05:45:19 1994 UTC (20 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.1: +4 -2 lines
Diff to previous 1.1 (colored)

Deallocate the vnode data using the correct type for MFS nodes.

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