The NetBSD Project

CVS log for src/sys/miscfs/genfs/genfs_vnops.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.219.4.1 / (download) - annotate - [select for diffs], Sun Mar 5 14:34:59 2023 UTC (12 months, 3 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.219: +7 -16 lines
Diff to previous 1.219 (colored) next main 1.220 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #111):

	sys/miscfs/genfs/genfs_vnops.c: revision 1.220

Fix genfs_can_chtimes() to also handle the condition:

  If the time pointer is null, then write permission
  on the file is also sufficient.

From FreeBSD.

Should fix PR kern/57246 "NFS group permissions regression"

Revision 1.220 / (download) - annotate - [select for diffs], Fri Mar 3 10:02:51 2023 UTC (12 months, 3 weeks ago) by hannken
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.219: +7 -16 lines
Diff to previous 1.219 (colored) to selected 1.62.2.1 (colored)

Fix genfs_can_chtimes() to also handle the condition:

  If the time pointer is null, then write permission
  on the file is also sufficient.

From FreeBSD.

Should fix PR kern/57246 "NFS group permissions regression"

Revision 1.219 / (download) - annotate - [select for diffs], Sun Mar 27 17:10:55 2022 UTC (2 years ago) by christos
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.218: +16 -2 lines
Diff to previous 1.218 (colored) to selected 1.62.2.1 (colored)

dedup the eofs link/symlink methods

Revision 1.218 / (download) - annotate - [select for diffs], Sun Mar 27 16:23:08 2022 UTC (2 years ago) by christos
Branch: MAIN
Changes since 1.217: +9 -21 lines
Diff to previous 1.217 (colored) to selected 1.62.2.1 (colored)

Expose groupmember as kauth_cred_groupmember and use it.

Revision 1.217 / (download) - annotate - [select for diffs], Sat Mar 19 13:52:45 2022 UTC (2 years ago) by hannken
Branch: MAIN
Changes since 1.216: +2 -26 lines
Diff to previous 1.216 (colored) to selected 1.62.2.1 (colored)

Remove now unused genfs_nolock(), genfs_nounlock() and genfs_noislocked().

Revision 1.216 / (download) - annotate - [select for diffs], Wed Oct 20 03:08:18 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.215: +4 -8 lines
Diff to previous 1.215 (colored) to selected 1.62.2.1 (colored)

Overhaul of the EVFILT_VNODE kevent(2) filter:

- Centralize vnode kevent handling in the VOP_*() wrappers, rather than
  forcing each individual file system to deal with it (except VOP_RENAME(),
  because VOP_RENAME() is a mess and we currently have 2 different ways
  of handling it; at least it's reasonably well-centralized in the "new"
  way).
- Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ,
  compatible with the same events in FreeBSD.
- Track which kevent notifications clients are interested in receiving
  to avoid doing work for events no one cares about (avoiding, e.g.
  taking locks and traversing the klist to send a NOTE_WRITE when
  someone is merely watching for a file to be deleted, for example).

In support of the above:

- Add support in vnode_if.sh for specifying PRE- and POST-op handlers,
  to be invoked before and after vop_pre() and vop_post(), respectively.
  Basic idea from FreeBSD, but implemented differently.
- Add support in vnode_if.sh for specifying CONTEXT fields in the
  vop_*_args structures.  These context fields are used to convey information
  between the file system VOP function and the VOP wrapper, but do not
  occupy an argument slot in the VOP_*() call itself.  These context fields
  are initialized and subsequently interpreted by PRE- and POST-op handlers.
- Version VOP_REMOVE(), uses the a context field for the file system to report
  back the resulting link count of the target vnode.  Return this in tmpfs,
  udf, nfs, chfs, ext2fs, lfs, and ufs.

NetBSD 9.99.92.

Revision 1.215 / (download) - annotate - [select for diffs], Mon Oct 11 01:49:08 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.214: +5 -5 lines
Diff to previous 1.214 (colored) to selected 1.62.2.1 (colored)

Mark the EVFILT_VNODE filters MP-safe.

Revision 1.214 / (download) - annotate - [select for diffs], Mon Oct 11 01:07:36 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.213: +5 -12 lines
Diff to previous 1.213 (colored) to selected 1.62.2.1 (colored)

Setting EV_EOF requires modifying kn->kn_flags.  However, that relies on
holding the kq_lock of that note's kq.  Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91

Revision 1.213 / (download) - annotate - [select for diffs], Sun Oct 10 23:46:23 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.212: +9 -2 lines
Diff to previous 1.212 (colored) to selected 1.62.2.1 (colored)

Must hold kn->kn_kq->kq_lock to modify kn->kn_flags.

Revision 1.212 / (download) - annotate - [select for diffs], Sun Sep 26 01:16:10 2021 UTC (2 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.211: +5 -5 lines
Diff to previous 1.211 (colored) to selected 1.62.2.1 (colored)

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89

Revision 1.210.6.1 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:40 2021 UTC (2 years, 7 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.210: +27 -2 lines
Diff to previous 1.210 (colored) next main 1.211 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.211 / (download) - annotate - [select for diffs], Tue Jun 29 22:34:08 2021 UTC (2 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.210: +27 -2 lines
Diff to previous 1.210 (colored) to selected 1.62.2.1 (colored)

- Add a new vnode op: VOP_PARSEPATH.
 - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath.
 - Add a parsepath entry to every vnode ops table.

VOP_PARSEPATH takes a directory vnode to be searched and a complete
following path and chooses how much of that path to consume. To begin
with, all parsepath calls are genfs_parsepath, which locates the first
'/' as always.

Note that the call doesn't take the whole struct componentname, only
the string. The other bits of struct componentname should not be
needed and there's no reason to cause potential complications by
exposing them.

Revision 1.210 / (download) - annotate - [select for diffs], Sat Sep 5 16:30:12 2020 UTC (3 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Branch point for: thorpej-i2c-spi-conf
Changes since 1.209: +2 -5 lines
Diff to previous 1.209 (colored) to selected 1.62.2.1 (colored)

Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
  to query whether curlwp is the pagedaemon, which should maybe be
  exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
  by it.  We should split up uvm_extern.h but this will serve for now
  to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
  UVMHIST(ubchist), since ubchist is declared in uvm.h but the
  reference evaporates if UVMHIST is not defined, so we reduce header
  file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
  here.

ok chs@

Revision 1.209 / (download) - annotate - [select for diffs], Fri Aug 7 18:14:21 2020 UTC (3 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.208: +3 -3 lines
Diff to previous 1.208 (colored) to selected 1.62.2.1 (colored)

accmode should be accmode_t

Revision 1.208 / (download) - annotate - [select for diffs], Sat Jun 27 17:29:19 2020 UTC (3 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.207: +28 -2 lines
Diff to previous 1.207 (colored) to selected 1.62.2.1 (colored)

Introduce genfs_pathconf() and use it for the default case in all filesystems.

Revision 1.207 / (download) - annotate - [select for diffs], Wed May 20 17:06:15 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.206: +3 -3 lines
Diff to previous 1.206 (colored) to selected 1.62.2.1 (colored)

Fix EPERM vs EACCES on chtimes (thanks @hannken)

Revision 1.206 / (download) - annotate - [select for diffs], Mon May 18 19:55:42 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.205: +3 -27 lines
Diff to previous 1.205 (colored) to selected 1.62.2.1 (colored)

remove debugging, it is just clutter.

Revision 1.205 / (download) - annotate - [select for diffs], Mon May 18 19:42:16 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.204: +30 -8 lines
Diff to previous 1.204 (colored) to selected 1.62.2.1 (colored)

Fix EPERM vs EACCES return.

Revision 1.204 / (download) - annotate - [select for diffs], Sat May 16 18:31:51 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.203: +590 -59 lines
Diff to previous 1.203 (colored) to selected 1.62.2.1 (colored)

Add ACL support for FFS. From FreeBSD.

Revision 1.203 / (download) - annotate - [select for diffs], Sat Apr 25 22:28:47 2020 UTC (3 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.202: +9 -5 lines
Diff to previous 1.202 (colored) to selected 1.62.2.1 (colored)

Allow root to access and modify system space extended attributes.
XXX: this routine should not be using the string, but the attribute namespace.
I have fixed this in the ACL code.

Revision 1.199.4.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:53 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.199: +31 -13 lines
Diff to previous 1.199 (colored) next main 1.200 (colored) to selected 1.62.2.1 (colored)

Merge changes from current as of 20200406

Revision 1.200.2.4 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:04 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.200.2.3: +3 -3 lines
Diff to previous 1.200.2.3 (colored) to branchpoint 1.200 (colored) next main 1.201 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.202 / (download) - annotate - [select for diffs], Sun Feb 23 22:14:04 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Changes since 1.201: +20 -24 lines
Diff to previous 1.201 (colored) to selected 1.62.2.1 (colored)

Merge from ad-namecache:

- Have a stab at clustering the members of vnode_t and vnode_impl_t in a
  more cache-conscious way.  With that done, go back to adjusting v_usecount
  with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).

- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT().
  Make sure LK_UPGRADE always comes with LK_NOWAIT.

- Make cwdinfo use mostly lockless.

Revision 1.201 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:41 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.200: +3 -3 lines
Diff to previous 1.200 (colored) to selected 1.62.2.1 (colored)

UVM locking changes, proposed on tech-kern:

- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart.  v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap.  Others to follow later.

Revision 1.200.2.3 / (download) - annotate - [select for diffs], Fri Jan 24 16:05:22 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.200.2.2: +14 -14 lines
Diff to previous 1.200.2.2 (colored) to branchpoint 1.200 (colored) to selected 1.62.2.1 (colored)

vnodes:

- Have own v_usecount again, don't share the uvm_object's refcount.
- Cluster the members of vnode_t and vnode_impl_t in a cache-concious way.
- Go back to having vi_lock directly in vnode_impl_t.
- Go back to having v_usecount adjusted with atomics.
- Start adjusting v_holdcnt with atomics, too.
- Put all the namecache stuff back into vnode_impl_t.

Revision 1.200.2.2 / (download) - annotate - [select for diffs], Wed Jan 22 12:00:18 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.200.2.1: +6 -10 lines
Diff to previous 1.200.2.1 (colored) to branchpoint 1.200 (colored) to selected 1.62.2.1 (colored)

Make sure LK_UPGRADE always comes with LK_NOWAIT; dropping the lock in here
is unclean and I wonder if it could screw over fstrans.

Revision 1.200.2.1 / (download) - annotate - [select for diffs], Sat Jan 18 17:12:59 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.200: +4 -4 lines
Diff to previous 1.200 (colored) to selected 1.62.2.1 (colored)

Allow VOP_LOCK(LK_NONE).

Revision 1.200 / (download) - annotate - [select for diffs], Sun Dec 1 13:56:29 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.199: +38 -16 lines
Diff to previous 1.199 (colored) to selected 1.62.2.1 (colored)

Minor vnode locking changes:

- Stop using atomics to maniupulate v_usecount.  It was a mistake to begin
  with.  It doesn't work as intended unless the XLOCK bit is incorporated in
  v_usecount and we don't have that any more.  When I introduced this 10+
  years ago it was to reduce pressure on v_interlock but it doesn't do that,
  it just makes stuff disappear from lockstat output and introduces problems
  elsewhere.  We could do atomic usecounts on vnodes but there has to be a
  well thought out scheme.

- Resurrect LK_UPGRADE/LK_DOWNGRADE which will be needed to work effectively
  when there is increased use of shared locks on vnodes.

- Allocate the vnode lock using rw_obj_alloc() to reduce false sharing of
  struct vnode.

- Put all of the LRU lists into a single cache line, and do not requeue a
  vnode if it's already on the correct list and was requeued recently (less
  than a second ago).

Kernel build before and after:

119.63s real  1453.16s user  2742.57s system
115.29s real  1401.52s user  2690.94s system

Revision 1.189.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:47 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.189.2.1: +76 -79 lines
Diff to previous 1.189.2.1 (colored) to branchpoint 1.189 (colored) next main 1.190 (colored) to selected 1.62.2.1 (colored)

update from HEAD

Revision 1.199 / (download) - annotate - [select for diffs], Wed Oct 25 08:12:39 2017 UTC (6 years, 5 months ago) by maya
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.198: +22 -8 lines
Diff to previous 1.198 (colored) to selected 1.62.2.1 (colored)

Use C99 initializer for filterops

Mostly done with spatch with touchups for indentation

@@
expression a;
identifier b,c,d;
identifier p;
@@
const struct filterops p =
- 	{ a, b, c, d
+ 	{
+ 	.f_isfd = a,
+ 	.f_attach = b,
+ 	.f_detach = c,
+ 	.f_event = d,
};

Revision 1.192.6.2 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:08 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.192.6.1: +43 -65 lines
Diff to previous 1.192.6.1 (colored) to branchpoint 1.192 (colored) next main 1.193 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.192.4.1 / (download) - annotate - [select for diffs], Sat Jul 8 16:53:24 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.192: +33 -2 lines
Diff to previous 1.192 (colored) next main 1.193 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by christos in ticket #1442):
	sys/kern/kern_event.c: revision 1.92 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.198 via patch
	sys/sys/event.h: revision 1.30 via patch
Provide EVFILT_WRITE; this is what FreeBSD does and go wants it.
Makes go unit tests pass.
--
fix file descriptor locking (from joerg).
fixes kernel crashes by running go

Revision 1.192.14.1 / (download) - annotate - [select for diffs], Sat Jul 8 16:52:27 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-7-1
CVS Tags: netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE
Changes since 1.192: +33 -2 lines
Diff to previous 1.192 (colored) next main 1.193 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by christos in ticket #1442):
	sys/kern/kern_event.c: revision 1.92 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.198 via patch
	sys/sys/event.h: revision 1.30 via patch
Provide EVFILT_WRITE; this is what FreeBSD does and go wants it.
Makes go unit tests pass.
--
fix file descriptor locking (from joerg).
fixes kernel crashes by running go

Revision 1.192.8.1 / (download) - annotate - [select for diffs], Sat Jul 8 16:51:56 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-7-0
Changes since 1.192: +33 -2 lines
Diff to previous 1.192 (colored) next main 1.193 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by christos in ticket #1442):
	sys/kern/kern_event.c: revision 1.92 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.198 via patch
	sys/sys/event.h: revision 1.30 via patch
Provide EVFILT_WRITE; this is what FreeBSD does and go wants it.
Makes go unit tests pass.
--
fix file descriptor locking (from joerg).
fixes kernel crashes by running go

Revision 1.195.4.2 / (download) - annotate - [select for diffs], Wed Jul 5 20:04:40 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.195.4.1: +33 -2 lines
Diff to previous 1.195.4.1 (colored) to branchpoint 1.195 (colored) next main 1.196 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by christos in ticket #91):
	sys/kern/kern_event.c: revision 1.92
	sys/miscfs/genfs/genfs_vnops.c: revision 1.198
	sys/sys/event.h: revision 1.30
Provide EVFILT_WRITE; this is what FreeBSD does and go wants it.
Makes go unit tests pass.
--
fix file descriptor locking (from joerg).
fixes kernel crashes by running go

Revision 1.198 / (download) - annotate - [select for diffs], Sat Jul 1 20:07:00 2017 UTC (6 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.197: +33 -2 lines
Diff to previous 1.197 (colored) to selected 1.62.2.1 (colored)

Provide EVFILT_WRITE; this is what FreeBSD does and go wants it.
Makes go unit tests pass.

Revision 1.195.4.1 / (download) - annotate - [select for diffs], Sun Jun 4 20:35:01 2017 UTC (6 years, 9 months ago) by bouyer
Branch: netbsd-8
Changes since 1.195: +18 -68 lines
Diff to previous 1.195 (colored) to selected 1.62.2.1 (colored)

pullup the following revisions, requested by hannken in ticket #2:
	src/share/man/man9/fstrans.9			1.25
	src/sys/kern/vfs_mount.c			1.66
	src/sys/kern/vfs_subr.c				1.468
	src/sys/kern/vfs_trans.c			1.46
	src/sys/kern/vfs_vnode.c			1.94, 1.95, 1.96
	src/sys/kern/vnode_if.c				1.105, 1.106
	src/sys/kern/vnode_if.sh			1.65, 1.66
	src/sys/kern/vnode_if.src			1.76
	src/sys/miscfs/genfs/genfs_io.c			1.69
	src/sys/miscfs/genfs/genfs_vnops.c		1.196, 1.197
	src/sys/miscfs/genfs/layer_extern.h		1.40
	src/sys/miscfs/genfs/layer_vfsops.c		1.51
	src/sys/miscfs/genfs/layer_vnops.c		1.67
	src/sys/miscfs/nullfs/null_vnops.c		1.42
	src/sys/miscfs/overlay/overlay_vnops.c		1.24
	src/sys/miscfs/umapfs/umap_vnops.c		1.60
	src/sys/rump/include/rump/rumpvnode_if.h	1.29, 1.30
	src/sys/rump/librump/rumpkern/emul.c		1.182
	src/sys/rump/librump/rumpvfs/rumpvnode_if.c	1.29, 1.30
	src/sys/sys/fstrans.h				1.11
	src/sys/sys/vnode.h				1.278
	src/sys/sys/vnode_if.h				1.100, 1.101
	src/sys/sys/vnode_impl.h			1.14, 1.15
	src/sys/ufs/lfs/lfs_pages.c			1.12

Vnode state, lock and fstrans cleanup:
- Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic
  state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.

- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.

- Cleanup the genfs lock operations.

- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.

- Remove the lock type argument from fstrans_start and
  fstrans_start_nowait,
  remove now unused FSTRANS state "FSTRANS_SUSPENDING".

Revision 1.197 / (download) - annotate - [select for diffs], Sun Jun 4 08:02:26 2017 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.196: +10 -10 lines
Diff to previous 1.196 (colored) to selected 1.62.2.1 (colored)

Locking a layer vnode using the regular bypass routine is no longer
racy.  Undo the change from 2017-03-30 11:16:52, commitid eurqbzuGxGRlryLz
and make vi_lock a krwlock_t again.

Revision 1.196 / (download) - annotate - [select for diffs], Sun Jun 4 08:01:33 2017 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.195: +12 -62 lines
Diff to previous 1.195 (colored) to selected 1.62.2.1 (colored)

Now that FSTRANS is part of VOP_*LOCK() remove FSTRANS and vdead_check()
from genfs_.*lock() and assert the vnode state once the vnode is locked.

Revision 1.192.10.2 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:27 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.192.10.1: +16 -19 lines
Diff to previous 1.192.10.1 (colored) to branchpoint 1.192 (colored) next main 1.193 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.193.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:03 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.193: +16 -19 lines
Diff to previous 1.193 (colored) next main 1.194 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.195 / (download) - annotate - [select for diffs], Tue Apr 11 14:29:32 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, netbsd-8-base, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.194: +2 -5 lines
Diff to previous 1.194 (colored) to selected 1.62.2.1 (colored)

Eliminate now-unused WILLUNLOCK vop flag.

Revision 1.194 / (download) - annotate - [select for diffs], Thu Mar 30 09:16:52 2017 UTC (6 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: jdolecek-ncq-base, jdolecek-ncq
Changes since 1.193: +16 -16 lines
Diff to previous 1.193 (colored) to selected 1.62.2.1 (colored)

Locking a layer vnode is racy as it may become reclaimed before
calling the operation on the lower vnode.

Replace vi_lock with a rw_obj and change layered file systems
to share the lock with the lower vnode.

Layered file systems now use genfs_lock()/_unlock/_islocked().

Welcome to 7.99.67

Revision 1.192.10.1 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:48 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.192: +27 -22 lines
Diff to previous 1.192 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.192.6.1 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:57 2017 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.192: +27 -22 lines
Diff to previous 1.192 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.193 / (download) - annotate - [select for diffs], Wed Jan 11 09:08:59 2017 UTC (7 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.192: +27 -22 lines
Diff to previous 1.192 (colored) to selected 1.62.2.1 (colored)

Move vnode member v_lock as vi_lock to vnode_impl.h.

Revision 1.189.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:31 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.189: +98 -13 lines
Diff to previous 1.189 (colored) to selected 1.62.2.1 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.187.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:41:05 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.187.2.1: +98 -13 lines
Diff to previous 1.187.2.1 (colored) to branchpoint 1.187 (colored) next main 1.188 (colored) to selected 1.62.2.1 (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.189.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:09 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.189: +98 -13 lines
Diff to previous 1.189 (colored) next main 1.190 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.192 / (download) - annotate - [select for diffs], Mon Mar 24 13:42:40 2014 UTC (10 years ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, localcount-20160914
Branch point for: pgoyette-localcount, nick-nhusb, netbsd-7-1, netbsd-7-0, netbsd-7
Changes since 1.191: +16 -23 lines
Diff to previous 1.191 (colored) to selected 1.62.2.1 (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.191 / (download) - annotate - [select for diffs], Wed Mar 12 09:38:51 2014 UTC (10 years ago) by hannken
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.190: +51 -35 lines
Diff to previous 1.190 (colored) to selected 1.62.2.1 (colored)

Restructure genfs_deadlock() and genfs_lock() to always lock before
testing for dead node.  Use ISSET() to test flags, add assertions.

Save the mount for fstrans_done() before genfs_unlock() unlocks the node.

Revision 1.190 / (download) - annotate - [select for diffs], Thu Feb 27 16:51:38 2014 UTC (10 years, 1 month ago) by hannken
Branch: MAIN
Changes since 1.189: +83 -7 lines
Diff to previous 1.189 (colored) to selected 1.62.2.1 (colored)

The current implementation of vn_lock() is racy.  Modification of
the vnode operations vector for active vnodes is unsafe because it
is not known whether deadfs or the original file system will be
called.

- Pass down LK_RETRY to the lock operation (hint for deadfs only).

- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.

- Change all other lock operations to check for dead vnode once
  the vnode is locked and unlock and return ENOENT in this case.

With these changes in place vnode lock operations will never succeed
after vclean() has marked the vnode as VI_XLOCK and before vclean()
has changed the operations vector.

Adresses PR kern/37706 (Forced unmount of file systems is unsafe)

Discussed on tech-kern.

Welcome to 6.99.33

Revision 1.187.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:34 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.187: +75 -64 lines
Diff to previous 1.187 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.187.6.1 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:42 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.187: +73 -62 lines
Diff to previous 1.187 (colored) next main 1.188 (colored) to selected 1.62.2.1 (colored)

sync to latest -current.

Revision 1.189 / (download) - annotate - [select for diffs], Fri Mar 30 18:24:08 2012 UTC (12 years ago) by njoly
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.188: +3 -3 lines
Diff to previous 1.188 (colored) to selected 1.62.2.1 (colored)

uid mismatch for file flags changes is expected to fail with EPERM not
EACCES.

Revision 1.188 / (download) - annotate - [select for diffs], Tue Mar 13 18:40:57 2012 UTC (12 years ago) by elad
Branch: MAIN
Changes since 1.187: +75 -64 lines
Diff to previous 1.187 (colored) to selected 1.62.2.1 (colored)

Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

    http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
    http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
    http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.

Revision 1.186.6.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:23 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.186: +15 -15 lines
Diff to previous 1.186 (colored) next main 1.187 (colored) to selected 1.62.2.1 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.187 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:58 2011 UTC (12 years, 9 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-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, jmcneill-usbmp
Changes since 1.186: +15 -15 lines
Diff to previous 1.186 (colored) to selected 1.62.2.1 (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.167.18.1 / (download) - annotate - [select for diffs], Fri May 20 08:11:28 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167: +18 -2 lines
Diff to previous 1.167 (colored) next main 1.168 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.176.4.4 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:30 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.176.4.3: +25 -8 lines
Diff to previous 1.176.4.3 (colored) to branchpoint 1.176 (colored) next main 1.177 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.186 / (download) - annotate - [select for diffs], Mon Dec 27 18:49:42 2010 UTC (13 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.185: +14 -5 lines
Diff to previous 1.185 (colored) to selected 1.62.2.1 (colored)

Extend the range of fstrans transactions to a sequence of vnode operations
on a locked vnode.  This leaves a suspended file system and therefore a
snapshot with either all or no operations of such a sequence done.

Revision 1.185 / (download) - annotate - [select for diffs], Tue Nov 30 10:43:05 2010 UTC (13 years, 4 months ago) by dholland
Branch: MAIN
Changes since 1.184: +3 -3 lines
Diff to previous 1.184 (colored) to selected 1.62.2.1 (colored)

Abolish the SAVENAME and HASBUF flags. There is now always a buffer,
so the path in a struct componentname is now always valid during VOP
calls.

Revision 1.184 / (download) - annotate - [select for diffs], Tue Nov 30 10:30:02 2010 UTC (13 years, 4 months ago) by dholland
Branch: MAIN
Changes since 1.183: +4 -4 lines
Diff to previous 1.183 (colored) to selected 1.62.2.1 (colored)

Abolish struct componentname's cn_pnbuf. Use the path buffer in the
pathbuf object passed to namei as work space instead. (For now a pnbuf
pointer appears in struct nameidata, to support certain unclean things
that haven't been fixed yet, but it will be going away in the future.)

This removes the need for the SAVENAME and HASBUF namei flags.

Revision 1.176.2.3 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:35 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.176.2.2: +8 -0 lines
Diff to previous 1.176.2.2 (colored) to branchpoint 1.176 (colored) next main 1.177 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD (-D20101022).

Revision 1.166.2.7 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:34 2010 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.6: +10 -2 lines
Diff to previous 1.166.2.6 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.167.16.1 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:44 2010 UTC (13 years, 6 months ago) by bouyer
Branch: netbsd-5-0
Changes since 1.167: +18 -2 lines
Diff to previous 1.167 (colored) next main 1.168 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.167.10.1 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:35 2010 UTC (13 years, 6 months ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.167: +18 -2 lines
Diff to previous 1.167 (colored) next main 1.168 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.183 / (download) - annotate - [select for diffs], Wed Sep 1 16:56:19 2010 UTC (13 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3
Changes since 1.182: +10 -2 lines
Diff to previous 1.182 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.176.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:37 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.176.2.1: +20 -21 lines
Diff to previous 1.176.2.1 (colored) to branchpoint 1.176 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.166.2.6 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:47 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.5: +48 -27 lines
Diff to previous 1.166.2.5 (colored) to branchpoint 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.176.4.3 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:57 2010 UTC (13 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.176.4.2: +22 -23 lines
Diff to previous 1.176.4.2 (colored) to branchpoint 1.176 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.182 / (download) - annotate - [select for diffs], Thu Jul 1 13:00:56 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.181: +23 -5 lines
Diff to previous 1.181 (colored) to selected 1.62.2.1 (colored)

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

Welcome to 5.99.34.

Discussed on tech-kern.

Revision 1.181 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:16 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.180: +3 -6 lines
Diff to previous 1.180 (colored) to selected 1.62.2.1 (colored)

Clean up vnode lock operations pass 2:

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

Welcome to 5.99.32.

Discussed on tech-kern.

Revision 1.180 / (download) - annotate - [select for diffs], Thu Jun 24 10:39:35 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.179: +2 -13 lines
Diff to previous 1.179 (colored) to selected 1.62.2.1 (colored)

genfs_nolock(): LK_INTERLOCK flag no longer possible.

Revision 1.179 / (download) - annotate - [select for diffs], Thu Jun 24 07:54:47 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.178: +2 -7 lines
Diff to previous 1.178 (colored) to selected 1.62.2.1 (colored)

Clean up vnode lock operations:

 - VOP_LOCK(vp, flags): Limit the set of allowed flags to LK_EXCLUSIVE,
   LK_SHARED and LK_NOWAIT.  LK_INTERLOCK is no longer allowed as it
   makes no sense here.

- VOP_ISLOCKED(vp): Remove the for some time unused return value
  LK_EXCLOTHER.  Mark this operation as "diagnostic only".
  Making a lock decision based on this operation is no longer allowed.

Discussed on tech-kern.

Revision 1.178 / (download) - annotate - [select for diffs], Sun Jun 6 08:01:31 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.177: +5 -5 lines
Diff to previous 1.177 (colored) to selected 1.62.2.1 (colored)

Change layered file systems to always pass the locking VOP's down to the
leaf file system.  Remove now unused member v_vnlock from struct vnode.
Welcome to 5.99.30

Discussed on tech-kern.

Revision 1.176.4.2 / (download) - annotate - [select for diffs], Sun May 30 05:17:59 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.176.4.1: +28 -6 lines
Diff to previous 1.176.4.1 (colored) to branchpoint 1.176 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.176.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:15 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.176: +26 -4 lines
Diff to previous 1.176 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.177 / (download) - annotate - [select for diffs], Thu Apr 8 15:56:26 2010 UTC (13 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.176: +28 -6 lines
Diff to previous 1.176 (colored) to selected 1.62.2.1 (colored)

Call VOP_ABORTOP in genfs_eopnotsupp.  This prevents file system
authors from having to get down on their knees and pray they won't
get POGA'd(*) again.

This plugs componentname leaks in at least smbfs and buggy puffs
servers (buggy servers shouldn't be able to leak kernel memory).

*) principle of greatest astonishment

Revision 1.176.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:11 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.176: +17 -17 lines
Diff to previous 1.176 (colored) to selected 1.62.2.1 (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.166.2.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:22 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.4: +13 -5 lines
Diff to previous 1.166.2.4 (colored) to branchpoint 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.176 / (download) - annotate - [select for diffs], Wed Jan 27 15:52:31 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.175: +2 -2 lines
Diff to previous 1.175 (colored) to selected 1.62.2.1 (colored)

Don't forget to tell the result of rw_tryenter().

Revision 1.175 / (download) - annotate - [select for diffs], Wed Jan 27 15:18:40 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.174: +10 -2 lines
Diff to previous 1.174 (colored) to selected 1.62.2.1 (colored)

Add genfs_node_rdtrylock().

Revision 1.174 / (download) - annotate - [select for diffs], Fri Nov 20 13:42:43 2009 UTC (14 years, 4 months ago) by roy
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.173: +4 -4 lines
Diff to previous 1.173 (colored) to selected 1.62.2.1 (colored)

Allow chown if caller is in the new group.

Revision 1.173 / (download) - annotate - [select for diffs], Fri Nov 20 13:19:46 2009 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.172: +3 -3 lines
Diff to previous 1.172 (colored) to selected 1.62.2.1 (colored)

Disallow chown for files the caller does not own.

Revision 1.167.14.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:32:46 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.167.14.1: +62 -2 lines
Diff to previous 1.167.14.1 (colored) to branchpoint 1.167 (colored) next main 1.168 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.166.2.4 / (download) - annotate - [select for diffs], Sat Jul 18 14:53:24 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.3: +62 -2 lines
Diff to previous 1.166.2.3 (colored) to branchpoint 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.172 / (download) - annotate - [select for diffs], Tue Jun 23 19:36:38 2009 UTC (14 years, 9 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, jymxensuspend-base, jym-xensuspend-nbase
Changes since 1.171: +62 -2 lines
Diff to previous 1.171 (colored) to selected 1.62.2.1 (colored)

Move the implementation of vaccess() to genfs_can_access(), in line with
the other routines of the same spirit.

Adjust file-system code to use it.

Keep vaccess() for KPI compatibility and to keep element of least
surprise. A "diagnostic" message warning that vaccess() is deprecated will
be printed when it's used (obviously, only in DIAGNOSTIC kernels).

No objections on tech-kern@:

	http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005310.html

Revision 1.166.2.3 / (download) - annotate - [select for diffs], Sat May 16 10:41:49 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.2: +30 -2 lines
Diff to previous 1.166.2.2 (colored) to branchpoint 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.167.14.1 / (download) - annotate - [select for diffs], Wed May 13 17:22:16 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.167: +195 -2 lines
Diff to previous 1.167 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

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

Revision 1.171 / (download) - annotate - [select for diffs], Thu May 7 19:30:29 2009 UTC (14 years, 10 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, jym-xensuspend-base
Changes since 1.170: +30 -2 lines
Diff to previous 1.170 (colored) to selected 1.62.2.1 (colored)

Extract the open-coded authorization logic for chtimes() from various
file-systems and put it in a single function, genfs_can_chtimes().

This also makes UDF follow the same policy as all other file-systems.

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/04/27/msg004951.html

Revision 1.166.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:04 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.2.1: +167 -2 lines
Diff to previous 1.166.2.1 (colored) to branchpoint 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.167.8.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:14 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.167: +167 -2 lines
Diff to previous 1.167 (colored) next main 1.168 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.170 / (download) - annotate - [select for diffs], Sat Apr 25 18:53:44 2009 UTC (14 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.169: +25 -2 lines
Diff to previous 1.169 (colored) to selected 1.62.2.1 (colored)

Add genfs_can_mount() and use it to prevent some more code duplication of
the security checks when mounting a device (VOP_ACCESS() + kauth(9) call)).

Proposed with no objections on tech-kern@:

	http://mail-index.netbsd.org/tech-kern/2009/04/20/msg004859.html

The vnode is always expected to be locked, so no locking is done outside
the file-system code.

Revision 1.169 / (download) - annotate - [select for diffs], Wed Apr 22 22:57:08 2009 UTC (14 years, 11 months ago) by elad
Branch: MAIN
Changes since 1.168: +124 -2 lines
Diff to previous 1.168 (colored) to selected 1.62.2.1 (colored)

Per discussion on tech-kern@:

  - Replace use of label/goto with returns

  - Rename, change prototype of, and move functions from vfs_subr.c to
    genfs_vnops.c

Revision 1.168 / (download) - annotate - [select for diffs], Sat Apr 18 15:40:33 2009 UTC (14 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.167: +22 -2 lines
Diff to previous 1.167 (colored) to selected 1.62.2.1 (colored)

Move genfs_null_putpages() from genfs_io.c to genfs_vnops.c -- it does
not really do i/o.

Revision 1.164.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:20 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164.6.1: +0 -8 lines
Diff to previous 1.164.6.1 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.165.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:25 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.165: +2 -10 lines
Diff to previous 1.165 (colored) next main 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:39 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166: +2 -9 lines
Diff to previous 1.166 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.167 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:08 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base2, netbsd-5-base, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, mjf-devfs2-base, 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-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5-0, netbsd-5, matt-nb5-mips64, jym-xensuspend
Changes since 1.166: +2 -9 lines
Diff to previous 1.166 (colored) to selected 1.62.2.1 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.166 / (download) - annotate - [select for diffs], Sat Apr 19 11:49:54 2008 UTC (15 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.165: +2 -3 lines
Diff to previous 1.165 (colored) to selected 1.62.2.1 (colored)

Remove stale include <sys/fstrans.h>.

Revision 1.164.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:06 2008 UTC (15 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164: +5 -5 lines
Diff to previous 1.164 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.98.2.10 / (download) - annotate - [select for diffs], Mon Mar 24 09:39:09 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.9: +5 -5 lines
Diff to previous 1.98.2.9 (colored) next main 1.99 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.156.6.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:03 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.156.6.2: +84 -61 lines
Diff to previous 1.156.6.2 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored) to selected 1.62.2.1 (colored)

sync with HEAD

Revision 1.165 / (download) - annotate - [select for diffs], Fri Mar 21 21:55:00 2008 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, ad-socklock-base1
Branch point for: yamt-pf42
Changes since 1.164: +5 -5 lines
Diff to previous 1.164 (colored) to selected 1.62.2.1 (colored)

Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.

Revision 1.158.4.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:00 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.158.4.1: +85 -72 lines
Diff to previous 1.158.4.1 (colored) to branchpoint 1.158 (colored) next main 1.159 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.98.2.9 / (download) - annotate - [select for diffs], Mon Feb 11 14:59:59 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.8: +72 -12 lines
Diff to previous 1.98.2.8 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.164 / (download) - annotate - [select for diffs], Tue Feb 5 14:19:53 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base
Branch point for: mjf-devfs2
Changes since 1.163: +72 -12 lines
Diff to previous 1.163 (colored) to selected 1.62.2.1 (colored)

Lock v_knlist with the vnode interlock. PR kern/37881.

Revision 1.98.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:24:29 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.7: +13 -16 lines
Diff to previous 1.98.2.7 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.163 / (download) - annotate - [select for diffs], Wed Jan 30 09:50:22 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.162: +13 -6 lines
Diff to previous 1.162 (colored) to selected 1.62.2.1 (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.162 / (download) - annotate - [select for diffs], Fri Jan 25 15:34:59 2008 UTC (16 years, 2 months ago) by riz
Branch: MAIN
Changes since 1.161: +2 -12 lines
Diff to previous 1.161 (colored) to selected 1.62.2.1 (colored)

Since VOP_LEASE is gone, remove genfs_lease_check() too.  Now my kernel
builds again.  :)

Revision 1.98.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:52 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.6: +4 -48 lines
Diff to previous 1.98.2.6 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.159.4.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:28 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.159.4.1: +1 -35 lines
Diff to previous 1.159.4.1 (colored) to branchpoint 1.159 (colored) next main 1.160 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.161 / (download) - annotate - [select for diffs], Thu Jan 17 17:28:55 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.160: +3 -37 lines
Diff to previous 1.160 (colored) to selected 1.62.2.1 (colored)

Fix v_freelisthd assertion failure during call to vdevdone(). No calling
VOPs without a vnode reference!

Revision 1.156.6.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:57:01 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.156.6.1: +35 -45 lines
Diff to previous 1.156.6.1 (colored) to branchpoint 1.156 (colored) to selected 1.62.2.1 (colored)

sync with HEAD

Revision 1.159.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:56:51 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.159: +34 -44 lines
Diff to previous 1.159 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.160 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:59 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.159: +34 -44 lines
Diff to previous 1.159 (colored) to selected 1.62.2.1 (colored)

Merge vmlocking2 to head.

Revision 1.156.4.2 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:31 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.156.4.1: +3 -3 lines
Diff to previous 1.156.4.1 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.158.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:00 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.158: +3 -3 lines
Diff to previous 1.158 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.158.6.2 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:51 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.158.6.1: +3 -3 lines
Diff to previous 1.158.6.1 (colored) to branchpoint 1.158 (colored) next main 1.159 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.98.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:34:04 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.5: +3 -3 lines
Diff to previous 1.98.2.5 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.159 / (download) - annotate - [select for diffs], Wed Dec 5 17:19:59 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.158: +3 -3 lines
Diff to previous 1.158 (colored) to selected 1.62.2.1 (colored)

Do not "return 1" from kqfilter for errors.  That value is passed
directly to the userland caller and results in a mysterious EPERM.
Instead, return EINVAL or something else sensible depending on the
case.

Revision 1.158.6.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:25 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.158: +34 -44 lines
Diff to previous 1.158 (colored) to selected 1.62.2.1 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.156.6.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:33:17 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.156: +8 -1631 lines
Diff to previous 1.156 (colored) to selected 1.62.2.1 (colored)

sync with HEAD

Revision 1.98.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:53 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.4: +8 -1631 lines
Diff to previous 1.98.2.4 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.156.4.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:52 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.156: +8 -1631 lines
Diff to previous 1.156 (colored) to selected 1.62.2.1 (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.150.2.15 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:15 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.14: +2 -1619 lines
Diff to previous 1.150.2.14 (colored) to branchpoint 1.150 (colored) next main 1.151 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.156.8.2 / (download) - annotate - [select for diffs], Thu Oct 18 08:33:13 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.156.8.1: +2 -1631 lines
Diff to previous 1.156.8.1 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.158 / (download) - annotate - [select for diffs], Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, vmlocking2-base1, vmlocking-nbase, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs
Changes since 1.157: +2 -1631 lines
Diff to previous 1.157 (colored) to selected 1.62.2.1 (colored)

Split I/O-related routines (getpages, putpages, etc.) which are heavily
tied to uvm out of genfs_vnops into genfs_io.c

Revision 1.156.8.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:53 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.156: +31 -25 lines
Diff to previous 1.156 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.157 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:28 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, vmlocking-base
Changes since 1.156: +31 -25 lines
Diff to previous 1.156 (colored) to selected 1.62.2.1 (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.150.2.14 / (download) - annotate - [select for diffs], Sun Sep 16 19:04:34 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.13: +32 -41 lines
Diff to previous 1.150.2.13 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (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.

Revision 1.98.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:41:52 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.3: +57 -41 lines
Diff to previous 1.98.2.3 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.140.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 07:05:07 2007 UTC (16 years, 6 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.140: +13 -6 lines
Diff to previous 1.140 (colored) next main 1.141 (colored) to selected 1.62.2.1 (colored)

Sync w/ NetBSD-4-RC_1

Revision 1.150.2.13 / (download) - annotate - [select for diffs], Sat Sep 1 15:34:15 2007 UTC (16 years, 6 months ago) by yamt
Branch: vmlocking
Changes since 1.150.2.12: +9 -3 lines
Diff to previous 1.150.2.12 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

fix a race and add a comment about it.

Revision 1.150.2.12 / (download) - annotate - [select for diffs], Fri Aug 24 23:28:41 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.11: +27 -19 lines
Diff to previous 1.150.2.11 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (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.150.2.11 / (download) - annotate - [select for diffs], Tue Aug 21 22:32:25 2007 UTC (16 years, 7 months ago) by yamt
Branch: vmlocking
Changes since 1.150.2.10: +3 -3 lines
Diff to previous 1.150.2.10 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

fix some races around pagedaemon and uvm_wait.  ok'ed by Andrew Doran.

Revision 1.150.2.10 / (download) - annotate - [select for diffs], Sun Aug 19 19:24:56 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.9: +3 -6 lines
Diff to previous 1.150.2.9 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.155.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:30 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.155: +3 -6 lines
Diff to previous 1.155 (colored) next main 1.156 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.156.10.2 / (download) - annotate - [select for diffs], Sun Jul 29 12:15:47 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.156.10.1: +2120 -0 lines
Diff to previous 1.156.10.1 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored) to selected 1.62.2.1 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.156.10.1, Sun Jul 29 12:15:46 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.156: +0 -2120 lines
FILE REMOVED

file genfs_vnops.c was added on branch matt-mips64 on 2007-07-29 12:15:47 +0000

Revision 1.156 / (download) - annotate - [select for diffs], Sun Jul 29 12:15:46 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.155: +3 -6 lines
Diff to previous 1.155 (colored) to selected 1.62.2.1 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.150.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:10:40 2007 UTC (16 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.150: +54 -35 lines
Diff to previous 1.150 (colored) next main 1.151 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.155 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:58 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.154: +6 -6 lines
Diff to previous 1.154 (colored) to selected 1.62.2.1 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.150.2.9 / (download) - annotate - [select for diffs], Sat Jun 23 18:06:03 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.8: +11 -18 lines
Diff to previous 1.150.2.8 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (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.150.2.8 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:38 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.7: +24 -28 lines
Diff to previous 1.150.2.7 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.150.2.7 / (download) - annotate - [select for diffs], Sat Jun 9 23:58:09 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.6: +28 -15 lines
Diff to previous 1.150.2.6 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.150.2.6 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:33 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.5: +24 -18 lines
Diff to previous 1.150.2.5 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.140.2.1 / (download) - annotate - [select for diffs], Tue Jun 5 20:34:58 2007 UTC (16 years, 9 months ago) by bouyer
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-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, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.140: +13 -6 lines
Diff to previous 1.140 (colored) next main 1.141 (colored) to selected 1.62.2.1 (colored)

Pull up following revision(s) (requested by perseant in ticket #703):
	sys/miscfs/genfs/genfs.h              1.21
	sys/miscfs/genfs/genfs_vnops.c        1.151
	sys/ufs/lfs/lfs.h                     1.119, 1.120
	sys/ufs/lfs/lfs_bio.c                 1.99-101
	sys/ufs/lfs/lfs_extern.h              1.89
	sys/ufs/lfs/lfs_inode.c               1.108, 1.109
	sys/ufs/lfs/lfs_segment.c             1.197, 1.199, 1.200
	sys/ufs/lfs/lfs_subr.c                1.69, 1.70
	sys/ufs/lfs/lfs_syscalls.c            1.119
	sys/ufs/lfs/lfs_vfsops.c              1.234, 1.235
	sys/ufs/lfs/lfs_vnops.c               1.195, 1.196, 1.200, 1.202-206

Reduce busy waiting in lfs_putpages(), and other LFS improvements.

Revision 1.154 / (download) - annotate - [select for diffs], Tue Jun 5 12:31:31 2007 UTC (16 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.153: +28 -15 lines
Diff to previous 1.153 (colored) to selected 1.62.2.1 (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.146.2.4 / (download) - annotate - [select for diffs], Thu May 17 13:41:50 2007 UTC (16 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.146.2.3: +13 -14 lines
Diff to previous 1.146.2.3 (colored) next main 1.147 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.153 / (download) - annotate - [select for diffs], Thu May 17 07:26:22 2007 UTC (16 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.152: +10 -11 lines
Diff to previous 1.152 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.152 / (download) - annotate - [select for diffs], Sun May 13 13:11:53 2007 UTC (16 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.151: +5 -5 lines
Diff to previous 1.151 (colored) to selected 1.62.2.1 (colored)

use a cached value of v_size.  no functional changes.

Revision 1.146.2.3 / (download) - annotate - [select for diffs], Mon May 7 10:55:53 2007 UTC (16 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.146.2.2: +13 -6 lines
Diff to previous 1.146.2.2 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.151 / (download) - annotate - [select for diffs], Tue Apr 24 22:46:03 2007 UTC (16 years, 11 months ago) by perseant
Branch: MAIN
Changes since 1.150: +13 -6 lines
Diff to previous 1.150 (colored) to selected 1.62.2.1 (colored)

Split the VOP interface part of genfs_putpages() from the code.  The new
function that does the work, genfs_do_putpages(), now takes as an argument
a pointer to the page that would be waited on, if PGO_BUSYWAIT were not set.
This allows a consumer, e.g. lfs_putpages(), to perform an action outside
the scope of UVM before sleeping on the page in question.

Revision 1.150.2.5 / (download) - annotate - [select for diffs], Fri Apr 13 15:49:50 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.4: +4 -5 lines
Diff to previous 1.150.2.4 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

- Fix a (new) bug where vget tries to acquire freed vnodes' interlocks.
- Minor locking fixes.

Revision 1.150.2.4 / (download) - annotate - [select for diffs], Mon Apr 9 22:10:04 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.3: +4 -4 lines
Diff to previous 1.150.2.3 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

- Add two new arguments to kthread_create1: pri_t pri, bool mpsafe.
- Fork kthreads off proc0 as new LWPs, not new processes.

Revision 1.150.2.3 / (download) - annotate - [select for diffs], Thu Apr 5 21:57:50 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.150.2.2: +4 -4 lines
Diff to previous 1.150.2.2 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

Compile fixes.

Revision 1.150.2.2 / (download) - annotate - [select for diffs], Wed Mar 21 20:11:55 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.150.2.1: +13 -22 lines
Diff to previous 1.150.2.1 (colored) to branchpoint 1.150 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.150.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:07 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.150: +52 -52 lines
Diff to previous 1.150 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.146.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:07 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.146.2.1: +4 -4 lines
Diff to previous 1.146.2.1 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.150 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:14 2007 UTC (17 years ago) by christos
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.149: +4 -4 lines
Diff to previous 1.149 (colored) to selected 1.62.2.1 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.146.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:36 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.146: +36 -28 lines
Diff to previous 1.146 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.98.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:27 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.2: +99 -58 lines
Diff to previous 1.98.2.2 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.149 / (download) - annotate - [select for diffs], Thu Feb 22 06:22:24 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.148: +17 -17 lines
Diff to previous 1.148 (colored) to selected 1.62.2.1 (colored)

TRUE -> true, FALSE -> false

Revision 1.148 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:06 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.147: +17 -17 lines
Diff to previous 1.147 (colored) to selected 1.62.2.1 (colored)

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.147 / (download) - annotate - [select for diffs], Tue Feb 20 16:19:42 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.146: +10 -2 lines
Diff to previous 1.146 (colored) to selected 1.62.2.1 (colored)

Add genfs_node_destroy(). Fixes a lock "leak" seen when running LOCKDEBUG
kernels.

Revision 1.146 / (download) - annotate - [select for diffs], Thu Feb 15 15:40:53 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.145: +17 -17 lines
Diff to previous 1.145 (colored) to selected 1.62.2.1 (colored)

Replace some uses of lockmgr() / simplelocks.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:36 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Changes since 1.144: +3 -3 lines
Diff to previous 1.144 (colored) to selected 1.62.2.1 (colored)

Merge newlock2 to head.

Revision 1.128.4.4 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:41 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.128.4.3: +53 -20 lines
Diff to previous 1.128.4.3 (colored) to branchpoint 1.128 (colored) next main 1.129 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.128.4.3 / (download) - annotate - [select for diffs], Tue Jan 30 13:51:42 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.128.4.2: +3 -3 lines
Diff to previous 1.128.4.2 (colored) to branchpoint 1.128 (colored) to selected 1.62.2.1 (colored)

Remove support for SA. Ok core@.

Revision 1.144 / (download) - annotate - [select for diffs], Mon Jan 29 15:42:50 2007 UTC (17 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: newlock2-nbase, newlock2-base
Changes since 1.143: +5 -5 lines
Diff to previous 1.143 (colored) to selected 1.62.2.1 (colored)

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

From Antti Kantee <pooka@netbsd.org>

Revision 1.143 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:11 2007 UTC (17 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.142: +53 -20 lines
Diff to previous 1.142 (colored) to selected 1.62.2.1 (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.128.4.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:11 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.128.4.1: +9 -43 lines
Diff to previous 1.128.4.1 (colored) to branchpoint 1.128 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.98.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:17 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98.2.1: +379 -92 lines
Diff to previous 1.98.2.1 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.142 / (download) - annotate - [select for diffs], Wed Dec 27 12:10:09 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.141: +3 -33 lines
Diff to previous 1.141 (colored) to selected 1.62.2.1 (colored)

remove nqnfs.

Revision 1.129.2.3 / (download) - annotate - [select for diffs], Mon Dec 18 11:42:15 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.129.2.2: +3 -4 lines
Diff to previous 1.129.2.2 (colored) to branchpoint 1.129 (colored) next main 1.130 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.141 / (download) - annotate - [select for diffs], Fri Dec 15 13:51:30 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4
Changes since 1.140: +3 -4 lines
Diff to previous 1.140 (colored) to selected 1.62.2.1 (colored)

put ->K loaned pages on the page queue, so that page loaning doesn't
disturb pagedaemon/pdpolicy.

Revision 1.129.2.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:59 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.129.2.1: +18 -21 lines
Diff to previous 1.129.2.1 (colored) to branchpoint 1.129 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.140 / (download) - annotate - [select for diffs], Thu Nov 30 06:11:03 2006 UTC (17 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-splraiseipl-base3, netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.139: +6 -9 lines
Diff to previous 1.139 (colored) to selected 1.62.2.1 (colored)

* update comments before putpages():  the vm object is always returned
  unlocked instead of locked.  chuq agrees
* use slock set to &uobj->vmobjlock also for the last simple lock
  operation to be consistent with the rest of the function

Revision 1.139 / (download) - annotate - [select for diffs], Sat Nov 25 21:15:01 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.138: +3 -3 lines
Diff to previous 1.138 (colored) to selected 1.62.2.1 (colored)

instead of const int, use a #define which most of the time will evaluate
in a compile-time constant.

Revision 1.128.4.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:28 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.128: +314 -44 lines
Diff to previous 1.128 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.138 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:38 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.137: +13 -13 lines
Diff to previous 1.137 (colored) to selected 1.62.2.1 (colored)

__unused removal on arguments; approved by core.

Revision 1.129.2.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:22 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.129: +323 -51 lines
Diff to previous 1.129 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.137 / (download) - annotate - [select for diffs], Fri Oct 20 18:58:12 2006 UTC (17 years, 5 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.136: +6 -10 lines
Diff to previous 1.136 (colored) to selected 1.62.2.1 (colored)

Replace the LIST structure mp->mnt_vnodelist to a TAILQ structure since all
vnodes were synced and processed backwards. This meant that the last
accessed node was processed first and the earlierst last.

An extra benefit is the removal of the ugly hack from the Berkly days on
LFS.

In the proces, i've also replaced the various variations hand written loops
by the TAILQ_FOREACH() macro's.

Revision 1.136 / (download) - annotate - [select for diffs], Sat Oct 14 09:16:28 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.135: +24 -0 lines
Diff to previous 1.135 (colored) to selected 1.62.2.1 (colored)

add wrapper functions of lockmgr on g_glock.

Revision 1.135 / (download) - annotate - [select for diffs], Sat Oct 14 09:15:52 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.134: +8 -9 lines
Diff to previous 1.134 (colored) to selected 1.62.2.1 (colored)

genfs_getpages: use kmem_zalloc.

Revision 1.134 / (download) - annotate - [select for diffs], Sat Oct 14 08:31:14 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.133: +2 -0 lines
Diff to previous 1.133 (colored) to selected 1.62.2.1 (colored)

genfs_do_io: iodone handler should be called at splbio.

Revision 1.133 / (download) - annotate - [select for diffs], Thu Oct 12 10:10:48 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.132: +4 -3 lines
Diff to previous 1.132 (colored) to selected 1.62.2.1 (colored)

genfs_putpages: don't try to deactivate loaned pages.
reported and tested by Nicolas Joly on current-users@.

Revision 1.132 / (download) - annotate - [select for diffs], Thu Oct 12 04:25:43 2006 UTC (17 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.131: +3 -2 lines
Diff to previous 1.131 (colored) to selected 1.62.2.1 (colored)

genfs_lease_check(): Consume the arguments even if NFSSERVER is not defined.

Revision 1.131 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:26 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.130: +13 -13 lines
Diff to previous 1.130 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.130 / (download) - annotate - [select for diffs], Thu Oct 5 14:48:32 2006 UTC (17 years, 5 months ago) by chs
Branch: MAIN
Changes since 1.129: +272 -23 lines
Diff to previous 1.129 (colored) to selected 1.62.2.1 (colored)

add support for O_DIRECT (I/O directly to application memory,
bypassing any kernel caching for file data).

Revision 1.129 / (download) - annotate - [select for diffs], Fri Sep 15 15:51:12 2006 UTC (17 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base
Branch point for: yamt-splraiseipl
Changes since 1.128: +4 -6 lines
Diff to previous 1.128 (colored) to selected 1.62.2.1 (colored)

merge yamt-pdpolicy branch.
	- separate page replacement policy from the rest of kernel
	- implement an alternative replacement policy

Revision 1.121.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:57:59 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.121: +79 -31 lines
Diff to previous 1.121 (colored) next main 1.122 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.122.2.5 / (download) - annotate - [select for diffs], Fri Aug 11 15:46:14 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.122.2.4: +67 -16 lines
Diff to previous 1.122.2.4 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored) to selected 1.62.2.1 (colored)

sync with head

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

Use the LWP cached credentials where sane.

Revision 1.127 / (download) - annotate - [select for diffs], Sat Jul 22 08:49:13 2006 UTC (17 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.126: +32 -3 lines
Diff to previous 1.126 (colored) to selected 1.62.2.1 (colored)

- genfs_getpages: in the case of PGO_LOCKED, check if we can acquire
  g_glock as suggested by Chuck Silvers on tech-kern@.
- genfs_rel_pages: handle PGO_DONTCARE so that it can be used for the above.

Revision 1.126 / (download) - annotate - [select for diffs], Sat Jul 22 08:47:56 2006 UTC (17 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.125: +30 -8 lines
Diff to previous 1.125 (colored) to selected 1.62.2.1 (colored)

- in genfs_getpages, take g_glock earlier so that it can't be
  intervened by truncation.
  it also fixes a deadlock.  (g_glock vs pages locking order)
- uvm_vnp_setsize: modify v_size while holding v_interlock.

reviewed by Chuck Silvers.

Revision 1.98.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:10:25 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.98: +201 -226 lines
Diff to previous 1.98 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.121.4.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:38:29 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.121.4.1: +9 -8 lines
Diff to previous 1.121.4.1 (colored) to branchpoint 1.121 (colored) next main 1.122 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.122.6.2 / (download) - annotate - [select for diffs], Wed May 24 15:50:43 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.122.6.1: +9 -10 lines
Diff to previous 1.122.6.1 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.122.2.4 / (download) - annotate - [select for diffs], Wed May 24 10:58:55 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.122.2.3: +9 -8 lines
Diff to previous 1.122.2.3 (colored) to branchpoint 1.122 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.125 / (download) - annotate - [select for diffs], Sun May 14 21:31:52 2006 UTC (17 years, 10 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.124: +7 -6 lines
Diff to previous 1.124 (colored) to selected 1.62.2.1 (colored)

integrate kauth.

Revision 1.122.4.3 / (download) - annotate - [select for diffs], Sat May 6 23:31:58 2006 UTC (17 years, 10 months ago) by christos
Branch: elad-kernelauth
Changes since 1.122.4.2: +3 -2 lines
Diff to previous 1.122.4.2 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored) to selected 1.62.2.1 (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.121.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:05 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.121: +10 -14 lines
Diff to previous 1.121 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.122.4.2 / (download) - annotate - [select for diffs], Wed Apr 19 04:52:46 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.122.4.1: +8 -10 lines
Diff to previous 1.122.4.1 (colored) to branchpoint 1.122 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.122.2.3 / (download) - annotate - [select for diffs], Tue Apr 11 11:55:48 2006 UTC (17 years, 11 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.122.2.2: +4 -6 lines
Diff to previous 1.122.2.2 (colored) to branchpoint 1.122 (colored) to selected 1.62.2.1 (colored)

sync with head

Revision 1.124 / (download) - annotate - [select for diffs], Tue Apr 11 09:34:58 2006 UTC (17 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, elad-kernelauth-base
Changes since 1.123: +2 -4 lines
Diff to previous 1.123 (colored) to selected 1.62.2.1 (colored)

genfs_getpages:
- use "overwrite" variable consistently.
- remove a set-only variable.
no functional changes.

Revision 1.122.2.2 / (download) - annotate - [select for diffs], Sat Apr 1 12:07:42 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.122.2.1: +6 -6 lines
Diff to previous 1.122.2.1 (colored) to branchpoint 1.122 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.122.6.1 / (download) - annotate - [select for diffs], Fri Mar 31 09:45:28 2006 UTC (18 years ago) by tron
Branch: peter-altq
Changes since 1.122: +6 -6 lines
Diff to previous 1.122 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.123 / (download) - annotate - [select for diffs], Thu Mar 30 12:40:06 2006 UTC (18 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base3
Changes since 1.122: +6 -6 lines
Diff to previous 1.122 (colored) to selected 1.62.2.1 (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.122.4.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:34:34 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.122: +8 -8 lines
Diff to previous 1.122 (colored) to selected 1.62.2.1 (colored)

Adapt to kernel authorization KPI.

Revision 1.122.2.1 / (download) - annotate - [select for diffs], Sun Mar 5 12:51:08 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.122: +4 -6 lines
Diff to previous 1.122 (colored) to selected 1.62.2.1 (colored)

separate page replacement policy from the rest of kernel.

Revision 1.122 / (download) - annotate - [select for diffs], Wed Mar 1 12:38:21 2006 UTC (18 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, peter-altq, elad-kernelauth
Changes since 1.121: +4 -6 lines
Diff to previous 1.121 (colored) to selected 1.62.2.1 (colored)

merge yamt-uio_vmspace branch.

- use vmspace rather than proc or lwp where appropriate.
  the latter is more natural to specify an address space.
  (and less likely to be abused for random purposes.)
- fix a swdmover race.

Revision 1.118.2.3 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:37 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.118.2.2: +8 -7 lines
Diff to previous 1.118.2.2 (colored) next main 1.119 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Jan 16 19:45:00 2006 UTC (18 years, 2 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5
Branch point for: simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.120: +8 -7 lines
Diff to previous 1.120 (colored) to selected 1.62.2.1 (colored)

Add genfs support for directories and softlinks next to regular files and
block devices.

Discussed on tech-kern and ok'd by Chuck

Revision 1.118.2.2 / (download) - annotate - [select for diffs], Sun Jan 15 10:02:57 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.118.2.1: +24 -72 lines
Diff to previous 1.118.2.1 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.120 / (download) - annotate - [select for diffs], Wed Jan 11 00:46:54 2006 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.119: +16 -53 lines
Diff to previous 1.119 (colored) to selected 1.62.2.1 (colored)

use nestiobuf api for genfs.

Revision 1.119 / (download) - annotate - [select for diffs], Wed Jan 4 10:13:06 2006 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.118: +10 -21 lines
Diff to previous 1.118 (colored) to selected 1.62.2.1 (colored)

- add simple functions to allocate/free a buffer for i/o.
- make bufpool static.

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Sat Dec 31 12:37:20 2005 UTC (18 years, 3 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.118: +4 -6 lines
Diff to previous 1.118 (colored) to selected 1.62.2.1 (colored)

adapt some random parts of kernel to uio_vmspace.

Revision 1.118 / (download) - annotate - [select for diffs], Sat Dec 24 20:45:09 2005 UTC (18 years, 3 months ago) by perry
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.117: +4 -4 lines
Diff to previous 1.117 (colored) to selected 1.62.2.1 (colored)

Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Dec 15 02:23:38 2005 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.116: +3 -2 lines
Diff to previous 1.116 (colored) to selected 1.62.2.1 (colored)

fix lock/unlock mismatch in rev.1.115.
reported by Chris Tribo on current-users@.

Revision 1.116 / (download) - annotate - [select for diffs], Sun Dec 11 12:24:50 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.115: +11 -11 lines
Diff to previous 1.115 (colored) to selected 1.62.2.1 (colored)

merge ktrace-lwp.

Revision 1.80.2.11 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:18 2005 UTC (18 years, 3 months ago) by christos
Branch: ktrace-lwp
Changes since 1.80.2.10: +21 -59 lines
Diff to previous 1.80.2.10 (colored) next main 1.81 (colored) to selected 1.62.2.1 (colored)

Sync with head.

Revision 1.115 / (download) - annotate - [select for diffs], Sat Dec 3 17:23:25 2005 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: ktrace-lwp-base
Changes since 1.114: +3 -0 lines
Diff to previous 1.114 (colored) to selected 1.62.2.1 (colored)

genfs_compat_getpages: add minimum support of async get.  ie. ignore them.
should fix a crash reported by Jukka Salmi on current-users@.

Revision 1.114 / (download) - annotate - [select for diffs], Fri Dec 2 00:47:54 2005 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.113: +2 -4 lines
Diff to previous 1.113 (colored) to selected 1.62.2.1 (colored)

genfs_gop_write: use devvp directly as genfs_getpages does.

Revision 1.113 / (download) - annotate - [select for diffs], Fri Dec 2 00:43:51 2005 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.112: +6 -6 lines
Diff to previous 1.112 (colored) to selected 1.62.2.1 (colored)

genfs_putpages: initialize marker pages only when needed.

Revision 1.112 / (download) - annotate - [select for diffs], Wed Nov 30 03:45:16 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.111: +3 -3 lines
Diff to previous 1.111 (colored) to selected 1.62.2.1 (colored)

revert rev.1.111 as it isn't necessary or correct.
- currently no one in tree has a problem with zero b_lblkno, afaik.
- this buf is used for "devvp", so it doesn't make sense to
  use lbn in the "vp".

Revision 1.111 / (download) - annotate - [select for diffs], Wed Nov 30 01:46:06 2005 UTC (18 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.110: +3 -3 lines
Diff to previous 1.110 (colored) to selected 1.62.2.1 (colored)

Learn genfs that (struct buf *)->b_lblkno allways need to point to the
logical block number of the file instead of allways zero.

Revision 1.110 / (download) - annotate - [select for diffs], Tue Nov 29 22:52:02 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.109: +4 -43 lines
Diff to previous 1.109 (colored) to selected 1.62.2.1 (colored)

merge yamt-readahead branch.

Revision 1.109.2.4 / (download) - annotate - [select for diffs], Sat Nov 19 05:26:59 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
Changes since 1.109.2.3: +6 -45 lines
Diff to previous 1.109.2.3 (colored) to branchpoint 1.109 (colored) next main 1.110 (colored) to selected 1.62.2.1 (colored)

remove contextless read-ahead code.

Revision 1.109.2.3 / (download) - annotate - [select for diffs], Fri Nov 18 08:44:54 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
CVS Tags: yamt-readahead-pervnode
Changes since 1.109.2.2: +3 -3 lines
Diff to previous 1.109.2.2 (colored) to branchpoint 1.109 (colored) to selected 1.62.2.1 (colored)

- associate read-ahead context to vnode, rather than file.
- revert VOP_READ prototype.

Revision 1.109.2.2 / (download) - annotate - [select for diffs], Tue Nov 15 03:48:47 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
CVS Tags: yamt-readahead-perfile
Changes since 1.109.2.1: +3 -3 lines
Diff to previous 1.109.2.1 (colored) to branchpoint 1.109 (colored) to selected 1.62.2.1 (colored)

adapt ffs, lfs, nfs.

Revision 1.109.2.1 / (download) - annotate - [select for diffs], Mon Nov 14 12:39:51 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
Changes since 1.109: +3 -3 lines
Diff to previous 1.109 (colored) to selected 1.62.2.1 (colored)

disable genfs readahead.

Revision 1.109 / (download) - annotate - [select for diffs], Sat Nov 12 22:29:53 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base
Branch point for: yamt-readahead
Changes since 1.108: +6 -6 lines
Diff to previous 1.108 (colored) to selected 1.62.2.1 (colored)

genfs_getpages:
- add an assertion.
- call VOP_STRATEGY of underlying vnode directly, rather than
  through the filesystem vnode.
- no need to set b_dev here because VOP_STRATEGY will take care of it.

Revision 1.80.2.10 / (download) - annotate - [select for diffs], Thu Nov 10 14:10:25 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.9: +145 -83 lines
Diff to previous 1.80.2.9 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD. Here we go again...

Revision 1.108 / (download) - annotate - [select for diffs], Wed Nov 2 12:38:59 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.107: +2 -36 lines
Diff to previous 1.107 (colored) to selected 1.62.2.1 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.107.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 07:13:54 2005 UTC (18 years, 5 months ago) by yamt
Branch: yamt-vop
Changes since 1.107: +2 -36 lines
Diff to previous 1.107 (colored) next main 1.108 (colored) to selected 1.62.2.1 (colored)

remove genfs_fsync.

Revision 1.107 / (download) - annotate - [select for diffs], Fri Oct 7 18:19:14 2005 UTC (18 years, 5 months ago) by elad
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.106: +2 -43 lines
Diff to previous 1.106 (colored) to selected 1.62.2.1 (colored)

Remove Veriexec bits from genfs, don't #if 0 them.

Revision 1.106 / (download) - annotate - [select for diffs], Fri Oct 7 18:07:46 2005 UTC (18 years, 5 months ago) by elad
Branch: MAIN
Changes since 1.105: +14 -9 lines
Diff to previous 1.105 (colored) to selected 1.62.2.1 (colored)

Various fixes from blymn@ and myself.

Also, put genfs changes under #if 0, and don't do per-page fingerprints
until this is properly discussed, as requested by yamt@.

Revision 1.105 / (download) - annotate - [select for diffs], Wed Oct 5 13:48:48 2005 UTC (18 years, 5 months ago) by elad
Branch: MAIN
Changes since 1.104: +38 -2 lines
Diff to previous 1.104 (colored) to selected 1.62.2.1 (colored)

Introduce per-page fingerprints in Veriexec.

This closes a hole pointed out by Thor Lancelot Simon on tech-kern ~3
years ago.

The problem was with running binaries from remote storage, where our
kernel (and Veriexec) has no control over any changes to files.

An attacker could, after the fingerprint has been verified and
program loaded to memory, inject malicious code into the backing
store on the remote storage, followed by a forced flush, causing
a page-in of the malicious data from backing store, bypassing
integrity checks.

Initial implementation by Brett Lymn.

Revision 1.96.2.1 / (download) - annotate - [select for diffs], Wed Aug 24 18:43:37 2005 UTC (18 years, 7 months ago) by riz
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.96: +137 -41 lines
Diff to previous 1.96 (colored) next main 1.97 (colored) to selected 1.62.2.1 (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.104 / (download) - annotate - [select for diffs], Tue Jul 26 08:06:29 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.103: +22 -9 lines
Diff to previous 1.103 (colored) to selected 1.62.2.1 (colored)

don't write-protect wired pages.  pointed by Chuck Silvers.
for now, leave a vnode on the syncer's queue, as suggested by him.

Revision 1.103 / (download) - annotate - [select for diffs], Sat Jul 23 12:18:41 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.102: +44 -10 lines
Diff to previous 1.102 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.102 / (download) - annotate - [select for diffs], Sun Jul 17 16:07:19 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.101: +20 -2 lines
Diff to previous 1.101 (colored) to selected 1.62.2.1 (colored)

genfs_putpages: don't bother to clean the vnode unless VONWORKLST.

Revision 1.101 / (download) - annotate - [select for diffs], Sun Jul 17 12:27:47 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.100: +32 -7 lines
Diff to previous 1.100 (colored) to selected 1.62.2.1 (colored)

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.

Revision 1.100 / (download) - annotate - [select for diffs], Sun Jul 17 09:13:35 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.99: +25 -19 lines
Diff to previous 1.99 (colored) to selected 1.62.2.1 (colored)

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

- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
  VM_PROT_READ.

Revision 1.99 / (download) - annotate - [select for diffs], Sat Jul 16 03:54:08 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.98: +8 -8 lines
Diff to previous 1.98 (colored) to selected 1.62.2.1 (colored)

genfs_getpages: don't forget to put the vnode onto the syncer's work queue
even in the case of PGO_LOCKED.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Jun 28 09:30:37 2005 UTC (18 years, 9 months ago) by yamt
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.97: +3 -3 lines
Diff to previous 1.97 (colored) to selected 1.62.2.1 (colored)

- constify genfs_ops.
- use member designators.

Revision 1.97 / (download) - annotate - [select for diffs], Sun May 29 21:55:33 2005 UTC (18 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.96: +13 -13 lines
Diff to previous 1.96 (colored) to selected 1.62.2.1 (colored)

- sprinkle const
- avoid shadowed variables.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:30 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.92: +23 -7 lines
Diff to previous 1.92 (colored) next main 1.93 (colored) to selected 1.62.2.1 (colored)

sync with -current

Revision 1.93.2.3 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:30 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.93.2.2: +17 -5 lines
Diff to previous 1.93.2.2 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.80.2.9 / (download) - annotate - [select for diffs], Fri Mar 4 16:52:49 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.8: +4 -4 lines
Diff to previous 1.80.2.8 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.96 / (download) - annotate - [select for diffs], Sat Feb 26 22:59:00 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, kent-audio2-base
Branch point for: netbsd-3
Changes since 1.95: +4 -4 lines
Diff to previous 1.95 (colored) to selected 1.62.2.1 (colored)

nuke trailing whitespace

Revision 1.80.2.8 / (download) - annotate - [select for diffs], Thu Feb 17 07:10:37 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.7: +15 -3 lines
Diff to previous 1.80.2.7 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.95 / (download) - annotate - [select for diffs], Wed Feb 16 15:25:33 2005 UTC (19 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.94: +15 -3 lines
Diff to previous 1.94 (colored) to selected 1.62.2.1 (colored)

undo the part of rev. 1.93 that turned the past-EOF check into an assertion.
read() can't request pages past EOF, but mmap() can.  apparently I had
disengaged the brain when I said that was ok.

Revision 1.93.2.2 / (download) - annotate - [select for diffs], Sat Feb 12 18:17:53 2005 UTC (19 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.93.2.1: +1789 -0 lines
Diff to previous 1.93.2.1 (colored) to branchpoint 1.93 (colored) to selected 1.62.2.1 (colored)

sync with head.

Revision 1.80.2.7 / (download) - annotate - [select for diffs], Fri Feb 4 11:47:42 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.6: +22 -18 lines
Diff to previous 1.80.2.6 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.94 / (download) - annotate - [select for diffs], Tue Jan 25 23:55:21 2005 UTC (19 years, 2 months ago) by wrstuden
Branch: MAIN
CVS Tags: yamt-km-base2
Changes since 1.93: +17 -5 lines
Diff to previous 1.93 (colored) to selected 1.62.2.1 (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.93.2.1, Tue Jan 25 09:50:31 2005 UTC (19 years, 2 months ago) by yamt
Branch: yamt-km
Changes since 1.93: +0 -1777 lines
FILE REMOVED

file genfs_vnops.c was added on branch yamt-km on 2005-02-12 18:17:53 +0000

Revision 1.93 / (download) - annotate - [select for diffs], Tue Jan 25 09:50:31 2005 UTC (19 years, 2 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-km-base
Branch point for: yamt-km
Changes since 1.92: +7 -15 lines
Diff to previous 1.92 (colored) to selected 1.62.2.1 (colored)

-in the read-ahead code, avoid to issue read requests at/past EOF
-because noone should request reads past EOF, or writes past EOF which
 are not explicitely marked as file-extending (PGO_PASTEOF), turn
 a boundary check into a KASSERT
approved by Chuck Silvers

Revision 1.80.2.6 / (download) - annotate - [select for diffs], Mon Jan 17 19:32:38 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.5: +4 -2 lines
Diff to previous 1.80.2.5 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Dec 22 23:29:51 2004 UTC (19 years, 3 months ago) by dbj
Branch: MAIN
CVS Tags: kent-audio1-beforemerge
Branch point for: kent-audio2
Changes since 1.91: +4 -2 lines
Diff to previous 1.91 (colored) to selected 1.62.2.1 (colored)

check for _KERNEL_OPT around opt include

Revision 1.80.2.5 / (download) - annotate - [select for diffs], Tue Oct 19 15:58:08 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.4: +4 -2 lines
Diff to previous 1.80.2.4 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.91 / (download) - annotate - [select for diffs], Mon Oct 4 00:28:30 2004 UTC (19 years, 5 months ago) by enami
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.90: +4 -10 lines
Diff to previous 1.90 (colored) to selected 1.62.2.1 (colored)

Backout previous; seeing many busy page on the pageq is normal.

Revision 1.90 / (download) - annotate - [select for diffs], Sun Oct 3 08:14:25 2004 UTC (19 years, 5 months ago) by enami
Branch: MAIN
Changes since 1.89: +10 -4 lines
Diff to previous 1.89 (colored) to selected 1.62.2.1 (colored)

So that not to leave pages busy unnecessarily, bound to specified region
when building cluster if we aren't pagedaemon and clean entire cluster
if we are pagedaemon.

Revision 1.89 / (download) - annotate - [select for diffs], Sun Oct 3 07:59:02 2004 UTC (19 years, 5 months ago) by enami
Branch: MAIN
Changes since 1.88: +4 -2 lines
Diff to previous 1.88 (colored) to selected 1.62.2.1 (colored)

Count obj pages freed by pagedaemon.

Revision 1.80.2.4 / (download) - annotate - [select for diffs], Tue Sep 21 13:36:30 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.3: +12 -12 lines
Diff to previous 1.80.2.3 (colored) to selected 1.62.2.1 (colored)

Fix the sync with head I botched.

Revision 1.80.2.3 / (download) - annotate - [select for diffs], Sat Sep 18 14:54:15 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.2: +12 -12 lines
Diff to previous 1.80.2.2 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.88 / (download) - annotate - [select for diffs], Fri Sep 17 14:11:25 2004 UTC (19 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.87: +4 -4 lines
Diff to previous 1.87 (colored) to selected 1.62.2.1 (colored)

There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe

Revision 1.80.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:54:05 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.80.2.1: +25 -17 lines
Diff to previous 1.80.2.1 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.87 / (download) - annotate - [select for diffs], Thu May 27 12:53:25 2004 UTC (19 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.86: +5 -3 lines
Diff to previous 1.86 (colored) to selected 1.62.2.1 (colored)

- remove a comment which is no longer true.
- add "XXX vn_lock" comments where we can call VOP_READ/WRITE
  without vnode lock held. (genfs_compat_*)

Revision 1.86 / (download) - annotate - [select for diffs], Tue May 25 14:54:57 2004 UTC (19 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.85: +5 -5 lines
Diff to previous 1.85 (colored) to selected 1.62.2.1 (colored)

Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.

- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
    may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
    Snapshots may not be opened for writing and the attributes are read-only.
    Use the mtime as the time this snapshot was taken.
    Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
  one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
  a vnode.
- Add snapshot support to ls, fsck_ffs and dump.

Welcome to 2.0F.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>

Revision 1.85 / (download) - annotate - [select for diffs], Sun Jan 25 18:06:49 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.84: +4 -4 lines
Diff to previous 1.84 (colored) to selected 1.62.2.1 (colored)

Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.

VOP_STRATEGY(bp) is replaced by one of two new functions:

- VOP_STRATEGY(vp, bp)  Call the strategy routine of vp for bp.
- DEV_STRATEGY(bp)      Call the d_strategy routine of bp->b_dev for bp.

DEV_STRATEGY(bp) is used only for block-to-block device situations.

Revision 1.84 / (download) - annotate - [select for diffs], Sat Jan 10 14:39:50 2004 UTC (20 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.83: +12 -2 lines
Diff to previous 1.83 (colored) to selected 1.62.2.1 (colored)

store a i/o priority hint in struct buf for buffer queue discipline.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Nov 27 07:58:02 2003 UTC (20 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.82: +4 -4 lines
Diff to previous 1.82 (colored) to selected 1.62.2.1 (colored)

genfs_revoke: use ltsleep() to release the vnode spin lock to avoid a
sleep/wakeup race.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Sep 24 10:22:53 2003 UTC (20 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.81: +4 -4 lines
Diff to previous 1.81 (colored) to selected 1.62.2.1 (colored)

fix a bug of lfs.

genfs_getpages() can read in more blocks than it should due to faked filesize
of lfs_gop_size().  it's a security problem and it makes gcc3 "internal error"

to fix this,
- in genfs_getpages(), always calculate diskeof and memeof separately
  so that filesystems (in this case, lfs) can use different strategies
  for them.
- introduce GOP_SIZE_MEM flag and use it to request in-core filesize.
  (it was an intention of GOP_SIZE_READ,
  but after the above change _READ is not a straightforward name)

after this, no one uses GOP_SIZE_{READ,WRITE} anymore but leave them for now.

Revision 1.63.2.3 / (download) - annotate - [select for diffs], Tue Aug 26 06:46:25 2003 UTC (20 years, 7 months ago) by tron
Branch: netbsd-1-6
CVS Tags: 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
Changes since 1.63.2.2: +4 -3 lines
Diff to previous 1.63.2.2 (colored) to branchpoint 1.63 (colored) next main 1.64 (colored) to selected 1.62.2.1 (colored)

Pull up revision 1.76 (requested by tls in ticket #1434):
Correct use of MAXBSIZE where MAXPHYS was intended.  This is a necessary
first step towards per-device MAXPHYS, and has the beneficial side effect
of allowing clustering to MAXPHYS even on systems that need to run with
a reduced MAXBSIZE to get more metadata buffers.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Aug 7 16:32:35 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.80: +3 -7 lines
Diff to previous 1.80 (colored) to selected 1.62.2.1 (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.80.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:26:50 2003 UTC (20 years, 9 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.80: +12 -12 lines
Diff to previous 1.80 (colored) to selected 1.62.2.1 (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.80 / (download) - annotate - [select for diffs], Sun Jun 29 22:31:39 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.79: +10 -10 lines
Diff to previous 1.79 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.79 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:02 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.78: +12 -12 lines
Diff to previous 1.78 (colored) to selected 1.62.2.1 (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.78 / (download) - annotate - [select for diffs], Tue Jun 17 04:17:37 2003 UTC (20 years, 9 months ago) by simonb
Branch: MAIN
Changes since 1.77: +6 -6 lines
Diff to previous 1.77 (colored) to selected 1.62.2.1 (colored)

Micro-optimisation- move the "pgs == NULL" check from the previous
change to immediately after the malloc call.  This can't fail in
the non-malloc case.

Reviewd by YAMAMOTO Takashi.

Revision 1.77 / (download) - annotate - [select for diffs], Sun Jun 15 16:14:46 2003 UTC (20 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.76: +27 -6 lines
Diff to previous 1.76 (colored) to selected 1.62.2.1 (colored)

genfs_getpages: if number of pages requested is >16,
use malloc/free for array of pointers to vm_page.
otherwise, use on-stack array as used to.
this change fixes assertion failure when nfsd gets a big read request
that isn't aligned with filesystem block.
discussed on tech-kern.

Revision 1.76 / (download) - annotate - [select for diffs], Wed Apr 23 00:55:19 2003 UTC (20 years, 11 months ago) by tls
Branch: MAIN
Changes since 1.75: +4 -3 lines
Diff to previous 1.75 (colored) to selected 1.62.2.1 (colored)

Correct use of MAXBSIZE where MAXPHYS was intended.  This is a necessary
first step towards per-device MAXPHYS, and has the beneficial side effect
of allowing clustering to MAXPHYS even on systems that need to run with
a reduced MAXBSIZE to get more metadata buffers.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Apr 10 21:53:33 2003 UTC (20 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.74: +3 -11 lines
Diff to previous 1.74 (colored) to selected 1.62.2.1 (colored)

use former genfs_eopnotsupp_rele() as genfs_eopnotsupp(), so that vnodes
are vput()/vrele()d as necessary - some filesystems did use the wrong
one for some ops, and it's just safer to not take the chance

based on suggestion by Bill Studenmund

Revision 1.74 / (download) - annotate - [select for diffs], Thu Apr 10 21:34:12 2003 UTC (20 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.73: +17 -6 lines
Diff to previous 1.73 (colored) to selected 1.62.2.1 (colored)

improve genfs_eopnotsupp_rele() so that's usable for vop_rename,
  which uses WILLPUT for member which may be NULL
handle correctly dvp == vp case for WILLPUT members, so this works
  for vop_remove, vop_rename

thanks Bill Studenmund for code&comments on this

Revision 1.73 / (download) - annotate - [select for diffs], Tue Feb 25 20:35:38 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.72: +7 -12 lines
Diff to previous 1.72 (colored) to selected 1.62.2.1 (colored)

Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and
use it.  This fixes a few places where either b_dep or b_interlock were
not properly initialized.

Revision 1.72 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:11 2003 UTC (21 years, 1 month ago) by perseant
Branch: MAIN
Changes since 1.71: +12 -7 lines
Diff to previous 1.71 (colored) to selected 1.62.2.1 (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.71 / (download) - annotate - [select for diffs], Wed Feb 5 21:38:42 2003 UTC (21 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.70: +20 -5 lines
Diff to previous 1.70 (colored) to selected 1.62.2.1 (colored)

Make the buffer cache code MP-safe.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jan 21 00:01:14 2003 UTC (21 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.69: +11 -5 lines
Diff to previous 1.69 (colored) to selected 1.62.2.1 (colored)

step 3. Assign lwp properly if null, so that we can PHOLD without segfaulting.

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jan 18 09:18:05 2003 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.68: +7 -7 lines
Diff to previous 1.68 (colored) to selected 1.62.2.1 (colored)

Merge the nathanw_sa branch.

Revision 1.31.2.22 / (download) - annotate - [select for diffs], Tue Jan 7 22:12:12 2003 UTC (21 years, 2 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.31.2.21: +1 -1 lines
Diff to previous 1.31.2.21 (colored) next main 1.32 (colored) to selected 1.62.2.1 (colored)

In the SA universe, the switch-to-this-LWP decision is made at a
different level than where preempt() calls are made, which renders
the "newlwp" argument useless.  Replace it with a "more work to do"
boolean argument.  Returning to userspace preempt() calls pass 0.
"Voluntary" preemptions in e.g. uiomove() pass 1.  This will be used
to indicate to the SA subsystem that the LWP is not yet finished in
the kernel.

Collapse the SA vs. non-SA cases of preempt() together, making the
conditional code block much smaller, and don't call sa_preempt() if
more work is to come.

NOTE: THIS IS NOT A COMPLETE FIX TO THE preempt()-in-uiomove() PROBLEM
THAT CURRENTLY EXISTS FOR SA PROCESSES.

Revision 1.31.2.21 / (download) - annotate - [select for diffs], Wed Dec 11 06:46:30 2002 UTC (21 years, 3 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.31.2.20: +1 -1 lines
Diff to previous 1.31.2.20 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.68 / (download) - annotate - [select for diffs], Fri Nov 15 14:01:57 2002 UTC (21 years, 4 months ago) by yamt
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.67: +3 -3 lines
Diff to previous 1.67 (colored) to selected 1.62.2.1 (colored)

genfs_compat_gop_write: set uio_iovcnt correctly.

Revision 1.31.2.20 / (download) - annotate - [select for diffs], Mon Nov 11 22:14:46 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.19: +81 -3 lines
Diff to previous 1.31.2.19 (colored) to selected 1.62.2.1 (colored)

Catch up to -current

Revision 1.67 / (download) - annotate - [select for diffs], Fri Oct 25 05:44:41 2002 UTC (21 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.66: +3 -3 lines
Diff to previous 1.66 (colored) to selected 1.62.2.1 (colored)

use B_ASYNC for children of nested buffers in genfs_getpages.
ok'ed by Chuck Silvers.

Revision 1.31.2.19 / (download) - annotate - [select for diffs], Wed Oct 23 21:45:57 2002 UTC (21 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.31.2.18: +2 -6 lines
Diff to previous 1.31.2.18 (colored) to selected 1.62.2.1 (colored)

Fix a merge botch.

Revision 1.31.2.18 / (download) - annotate - [select for diffs], Wed Oct 23 14:31:36 2002 UTC (21 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.31.2.17: +7 -3 lines
Diff to previous 1.31.2.17 (colored) to selected 1.62.2.1 (colored)

Sync with rev. 1.65.

Revision 1.63.2.2 / (download) - annotate - [select for diffs], Wed Oct 23 12:18:12 2002 UTC (21 years, 5 months ago) by lukem
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Changes since 1.63.2.1: +3 -3 lines
Diff to previous 1.63.2.1 (colored) to branchpoint 1.63 (colored) to selected 1.62.2.1 (colored)

Pull up revision 1.65 (requested by fvdl in ticket #935):
Use B_ASYNC in the !PGO_SYNCIO case. Gets back most, if not all, NFS
read throughput performance lost since the introduction of UBC. Spotted
by YAMAMOTO Takashi, many thanks to him.

Revision 1.66 / (download) - annotate - [select for diffs], Wed Oct 23 09:14:36 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge
Changes since 1.65: +80 -2 lines
Diff to previous 1.65 (colored) to selected 1.62.2.1 (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.65 / (download) - annotate - [select for diffs], Mon Oct 21 15:21:35 2002 UTC (21 years, 5 months ago) by fvdl
Branch: MAIN
CVS Tags: kqueue-beforemerge
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) to selected 1.62.2.1 (colored)

Use B_ASYNC in the !PGO_SYNCIO case. Gets back most, if not all, NFS
read throughput performance lost since the introduction of UBC. Spotted
by YAMAMOTO Takashi, many thanks to him.

Revision 1.35.2.8 / (download) - annotate - [select for diffs], Wed Oct 2 19:37:53 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.7: +2 -3 lines
Diff to previous 1.35.2.7 (colored) next main 1.36 (colored) to selected 1.62.2.1 (colored)

knote data is now 64bit, g/c obsolete comment

Revision 1.35.2.7 / (download) - annotate - [select for diffs], Sun Sep 29 09:58:16 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.6: +3 -3 lines
Diff to previous 1.35.2.6 (colored) to selected 1.62.2.1 (colored)

don't need cast to (caddr_t) for kn_hook anymore

Revision 1.35.2.6 / (download) - annotate - [select for diffs], Wed Sep 25 21:36:58 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.5: +82 -2 lines
Diff to previous 1.35.2.5 (colored) to selected 1.62.2.1 (colored)

implement genfs_kqfilter() - this is based upon ufs_kqfilter(), but uses
vp->v_size for EVFILT_READ

Revision 1.31.2.17 / (download) - annotate - [select for diffs], Tue Jul 16 14:06:12 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.16: +3 -3 lines
Diff to previous 1.31.2.16 (colored) to selected 1.62.2.1 (colored)

pagedaemon_proc really should be a proc, not a LWP.

Revision 1.31.2.16 / (download) - annotate - [select for diffs], Fri Jul 12 01:40:25 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.15: +2 -3 lines
Diff to previous 1.31.2.15 (colored) to selected 1.62.2.1 (colored)

No longer need to pull in lwp.h; proc.h pulls it in for us.

Revision 1.31.2.15 / (download) - annotate - [select for diffs], Mon Jun 24 22:11:12 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.14: +12 -12 lines
Diff to previous 1.31.2.14 (colored) to selected 1.62.2.1 (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.35.2.5 / (download) - annotate - [select for diffs], Sun Jun 23 17:50:09 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.4: +192 -165 lines
Diff to previous 1.35.2.4 (colored) to selected 1.62.2.1 (colored)

catch up with -current on kqueue branch

Revision 1.31.2.14 / (download) - annotate - [select for diffs], Thu Jun 20 03:47:56 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.13: +86 -46 lines
Diff to previous 1.31.2.13 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Sat Jun 1 22:43:21 2002 UTC (21 years, 10 months ago) by tv
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1
Changes since 1.63: +4 -2 lines
Diff to previous 1.63 (colored) to selected 1.62.2.1 (colored)

Pull up revision 1.64 (requested by enami in ticket #114):
Add missing pageq lock while uvm_pagefree() is called (either directly
or indirectly).  Reviewed by chuq.

Revision 1.62.2.1 / (download) - annotate - [selected], Thu May 30 14:48:20 2002 UTC (21 years, 10 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.62: +60 -24 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

Catch up with -current.

Revision 1.64 / (download) - annotate - [select for diffs], Wed May 29 11:04:40 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
CVS Tags: kqueue-base, gehenna-devsw-base
Changes since 1.63: +4 -2 lines
Diff to previous 1.63 (colored) to selected 1.62.2.1 (colored)

Add missing pageq lock while uvm_pagefree() is called (either directly
or indirectly).  Reviewed by chuq.

Revision 1.63 / (download) - annotate - [select for diffs], Sat May 18 02:54:57 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
CVS Tags: netbsd-1-6-base
Branch point for: netbsd-1-6
Changes since 1.62: +58 -24 lines
Diff to previous 1.62 (colored) to selected 1.62.2.1 (colored)

Just give up to do readahead rather than waiting busy pages.
While I'm here, added few patchable variable so that one can
easily measure readahead behaviour.

Revision 1.62 / (download) - annotate - [select for diffs], Tue May 14 19:37:18 2002 UTC (21 years, 10 months ago) by perseant
Branch: MAIN
Branch point for: gehenna-devsw
Changes since 1.61: +6 -2 lines
Diff to previous 1.61 (colored) to selected 1.62.2.1 (colored)

Protect v_synclist with splbio(); note that LIST_REMOVE is not an idempotent
operation if more than one LIST_REMOVE happens on interrupt, so both the test
for VONWORKLIST and the LIST_REMOVE(vp, v_synclist) need to be in splbio().

Revision 1.61 / (download) - annotate - [select for diffs], Fri May 10 07:51:37 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.60: +4 -3 lines
Diff to previous 1.60 (colored) to selected 1.62.2.1 (colored)

Redo rev. 1.57 a bit different way; don't use `tpg' since it may be freed.
Subtract the number of pages behind us when calculating new offset instead.

Revision 1.60 / (download) - annotate - [select for diffs], Fri May 10 02:51:44 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.59: +6 -7 lines
Diff to previous 1.59 (colored) to selected 1.62.2.1 (colored)

Don't modify the local variable `n' in genfs_putpages().  It should contain
the number of elements in the page array at the beginning of every iteration.

Revision 1.59 / (download) - annotate - [select for diffs], Thu May 9 07:22:09 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.58: +11 -2 lines
Diff to previous 1.58 (colored) to selected 1.62.2.1 (colored)

When traversing by list, if the page next to us is a page in the cluster,
advance the pointer.

Revision 1.58 / (download) - annotate - [select for diffs], Thu May 9 07:14:37 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.57: +5 -3 lines
Diff to previous 1.57 (colored) to selected 1.62.2.1 (colored)

- In genfs_putpages(), no need to restrict the cluster within the given
  region.
- In uvm_aio_aiodone(), remove assertions no longer true.

Revision 1.57 / (download) - annotate - [select for diffs], Mon May 6 00:42:22 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored) to selected 1.62.2.1 (colored)

Since npages may includes number of pages behind us, we can't use it to
update current offset.  Instead, use the last page in the run of pages
to calculate new offset.

Revision 1.56 / (download) - annotate - [select for diffs], Mon May 6 00:18:15 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.55: +7 -6 lines
Diff to previous 1.55 (colored) to selected 1.62.2.1 (colored)

Stylistic change; introduce new local variable and use it instead of
sprinkling different expression to test if we're pagedaemon.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Apr 26 03:57:31 2002 UTC (21 years, 11 months ago) by enami
Branch: MAIN
Changes since 1.54: +2 -14 lines
Diff to previous 1.54 (colored) to selected 1.62.2.1 (colored)

We don't need to re-activate page in genfs_putpages() when GOP_WRITE returns
ENOMEM (temporary memory shortage) since it is already handled in
uvm_aio_aiodone() for both async/sync case.  Discussed with chuq.

Revision 1.31.2.13 / (download) - annotate - [select for diffs], Wed Apr 17 00:06:23 2002 UTC (21 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.12: +104 -120 lines
Diff to previous 1.31.2.12 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Apr 16 06:05:05 2002 UTC (21 years, 11 months ago) by enami
Branch: MAIN
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored) to selected 1.62.2.1 (colored)

genfs_{compat_}getpages(): For PGO_LOCKED request, it is safe to return
read only page if it was due to read fault.  This avoid many unnecessary
read fault introduced by recent nfs_bio.c change.  Reviewed by chuq.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Apr 16 06:00:46 2002 UTC (21 years, 11 months ago) by enami
Branch: MAIN
Changes since 1.52: +106 -122 lines
Diff to previous 1.52 (colored) to selected 1.62.2.1 (colored)

KNF and other misc. cosmetic changes.

Revision 1.31.2.12 / (download) - annotate - [select for diffs], Mon Apr 1 07:48:15 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.11: +8 -5 lines
Diff to previous 1.31.2.11 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.52 / (download) - annotate - [select for diffs], Fri Mar 22 03:51:51 2002 UTC (22 years ago) by chs
Branch: MAIN
Changes since 1.51: +5 -2 lines
Diff to previous 1.51 (colored) to selected 1.62.2.1 (colored)

in genfs_compat_getpages(), clear any part of a page that
VOP_READ() doesn't fill in (eg. because it's past EOF).

Revision 1.51 / (download) - annotate - [select for diffs], Sun Mar 17 19:41:09 2002 UTC (22 years ago) by atatat
Branch: MAIN
CVS Tags: eeh-devprop-base, eeh-devprop
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored) to selected 1.62.2.1 (colored)

Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.

Revision 1.35.2.4 / (download) - annotate - [select for diffs], Sat Mar 16 16:02:02 2002 UTC (22 years ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.3: +38 -25 lines
Diff to previous 1.35.2.3 (colored) to selected 1.62.2.1 (colored)

Catch up with -current.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Mar 2 06:58:01 2002 UTC (22 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: newlock-base, newlock
Changes since 1.49: +4 -4 lines
Diff to previous 1.49 (colored) to selected 1.62.2.1 (colored)

don't yield the cpu in genfs_putpages() if we're the pagedaemon.
pointed out by enami.  fixes PR 15784.

Revision 1.31.2.11 / (download) - annotate - [select for diffs], Thu Feb 28 20:40:12 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.10: +3 -3 lines
Diff to previous 1.31.2.10 (colored) to selected 1.62.2.1 (colored)

LWPify.

Revision 1.31.2.10 / (download) - annotate - [select for diffs], Thu Feb 28 04:14:55 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.9: +46 -27 lines
Diff to previous 1.31.2.9 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Feb 19 15:49:39 2002 UTC (22 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.48: +31 -24 lines
Diff to previous 1.48 (colored) to selected 1.62.2.1 (colored)

fix two problems:
 - when yielding the cpu while using the vnode's page list, use a marker page
   to keep our place in the list (like the other cases where we drop the lock).
 - wait until no one else has the page busy before deciding if the page needs
   to be cleaned.  a page will be dirty while it's being initialized but will
   be marked clean before PG_BUSY is cleared.
both found by enami.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Feb 13 05:20:41 2002 UTC (22 years, 1 month ago) by enami
Branch: MAIN
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (colored) to selected 1.62.2.1 (colored)

Don't bother to subtract 0.

Revision 1.47 / (download) - annotate - [select for diffs], Tue Feb 12 01:08:12 2002 UTC (22 years, 1 month ago) by enami
Branch: MAIN
Changes since 1.46: +8 -2 lines
Diff to previous 1.46 (colored) to selected 1.62.2.1 (colored)

Don't leave junk in pgs[] array since it will be passed to uvn_findpages()
again.

Revision 1.35.2.3 / (download) - annotate - [select for diffs], Mon Feb 11 20:10:27 2002 UTC (22 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.35.2.2: +18 -12 lines
Diff to previous 1.35.2.2 (colored) to selected 1.62.2.1 (colored)

Sync w/ -current.

Revision 1.46 / (download) - annotate - [select for diffs], Sat Jan 26 02:44:27 2002 UTC (22 years, 2 months ago) by chs
Branch: MAIN
Changes since 1.45: +18 -12 lines
Diff to previous 1.45 (colored) to selected 1.62.2.1 (colored)

in genfs_putpages():
 - yield the cpu if we've taken too long.
 - when traversing by offset, skip over any pages that we clustered.

Revision 1.35.2.2 / (download) - annotate - [select for diffs], Thu Jan 10 20:01:35 2002 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.35.2.1: +633 -145 lines
Diff to previous 1.35.2.1 (colored) to selected 1.62.2.1 (colored)

Sync kqueue branch with -current.

Revision 1.31.2.9 / (download) - annotate - [select for diffs], Wed Jan 9 02:59:24 2002 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.8: +6 -6 lines
Diff to previous 1.31.2.8 (colored) to selected 1.62.2.1 (colored)

curproc ==> curproc->l_proc

Revision 1.31.2.8 / (download) - annotate - [select for diffs], Tue Jan 8 00:33:34 2002 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.7: +173 -10 lines
Diff to previous 1.31.2.7 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Dec 31 06:44:58 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.44: +4 -4 lines
Diff to previous 1.44 (colored) to selected 1.62.2.1 (colored)

in genfs_gop_write(), actually set the B_ASYNC flag on buffers that we're
not going to wait for.  this doesn't matter for real devices since we call
VOP_STRATEGY() directly, but NFS uses this flag to decide whether or not
to hand the buffer off to an nfsiod thread.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Dec 31 06:40:08 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.43: +5 -3 lines
Diff to previous 1.43 (colored) to selected 1.62.2.1 (colored)

in genfs_putpages(), we must wait for any pending write i/os to complete
if the putpages request is synchronous.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Dec 18 07:49:36 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.42: +137 -2 lines
Diff to previous 1.42 (colored) to selected 1.62.2.1 (colored)

add some compatibility routines to allow mmap() to work non-UBCified
filesystems (in the same non-coherent fashion that they worked before).

Revision 1.42 / (download) - annotate - [select for diffs], Thu Dec 6 04:27:41 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.41: +22 -2 lines
Diff to previous 1.41 (colored) to selected 1.62.2.1 (colored)

add a VOP_PUTPAGES method for all the filesystems that don't have pages,
just unlock the interlock.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Nov 30 15:18:39 2001 UTC (22 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.40: +13 -7 lines
Diff to previous 1.40 (colored) to selected 1.62.2.1 (colored)

PR/14781: Matthew Fredette: Clamp the number of read-ahead pages to 16 because
other code has this limit. Also while I am here, convert the magic 16 into
a #define constant and use it in the appropriate places. This is a temporary
fix, since all this read-ahead business is XXXUBC anyway.

Revision 1.31.2.7 / (download) - annotate - [select for diffs], Wed Nov 14 19:17:08 2001 UTC (22 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.6: +4 -1 lines
Diff to previous 1.31.2.6 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:09 2001 UTC (22 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.39: +4 -1 lines
Diff to previous 1.39 (colored) next main 1.40 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.40 / (download) - annotate - [select for diffs], Sat Nov 10 13:33:41 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.39: +4 -1 lines
Diff to previous 1.39 (colored) to selected 1.62.2.1 (colored)

add RCSIDs

Revision 1.36.2.5 / (download) - annotate - [select for diffs], Thu Oct 11 00:02:33 2001 UTC (22 years, 5 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.36.2.4: +3 -2 lines
Diff to previous 1.36.2.4 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.31.2.6 / (download) - annotate - [select for diffs], Mon Oct 8 20:11:46 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.5: +2 -2 lines
Diff to previous 1.31.2.5 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Oct 3 14:13:08 2001 UTC (22 years, 5 months ago) by enami
Branch: MAIN
CVS Tags: thorpej-devvp-base3
Branch point for: thorpej-mips-cache
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) to selected 1.62.2.1 (colored)

s/genfs_do_putpages/genfs_gop_write/ in uvmhist.

Revision 1.36.2.4 / (download) - annotate - [select for diffs], Mon Oct 1 12:47:18 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.36.2.3: +465 -145 lines
Diff to previous 1.36.2.3 (colored) to branchpoint 1.36 (colored) to selected 1.62.2.1 (colored)

Catch up with -current.

Revision 1.36.2.3 / (download) - annotate - [select for diffs], Thu Sep 27 14:48:22 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.36.2.2: +2 -1 lines
Diff to previous 1.36.2.2 (colored) to branchpoint 1.36 (colored) to selected 1.62.2.1 (colored)

Put back line that got misplaced somehow.

Revision 1.36.2.2 / (download) - annotate - [select for diffs], Wed Sep 26 15:28:23 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.36.2.1: +19 -4 lines
Diff to previous 1.36.2.1 (colored) to branchpoint 1.36 (colored) to selected 1.62.2.1 (colored)

* add a VCLONED vnode flag that indicates a vnode representing a cloned
  device.
* rename REVOKEALL to REVOKEALIAS, and add a REVOKECLONE flag, to pass
  to VOP_REVOKE
* the revoke system call will revoke all aliases, as before, but not the
  clones
* vdevgone is called when detaching a device, so make it use REVOKECLONE
  to get rid of all clones as well
* clean up all uses of VOP_OPEN wrt. locking.
* add a few VOPS to spec_vnops that need to do something when it's a
  clone vnode (access and getattr)
* add a copy of the vnode vattr structure of the original 'master' vnode
  to the specinfo of a cloned vnode. could possibly redirect getattr to
  the 'master' vnode, but this has issues with revoke
* add a vdev_reassignvp function that disassociates a vnode from its
  original device, and reassociates it with the specified dev_t. to be
  used by cloning devices only, in case a new minor is allocated.
* change all direct references in drivers to v_devcookie and v_rdev
  to vdev_privdata(vp) and vdev_rdev(vp). for diagnostic purposes
  when debugging race conditions that still exist wrt. locking and
  revoking vnodes.
* make the locking state of a vnode consistent when passed to
  d_open and d_close (unlocked). locked would be better, but has
  some deadlock issues

Revision 1.31.2.5 / (download) - annotate - [select for diffs], Fri Sep 21 22:36:37 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.4: +467 -145 lines
Diff to previous 1.31.2.4 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Sep 21 07:52:25 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base2
Changes since 1.37: +11 -3 lines
Diff to previous 1.37 (colored) to selected 1.62.2.1 (colored)

when zeroing pages past EOF, don't zero the page containing EOF if it
already contains valid data.  should fix PRs 13361 and 13436.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:38 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.36: +458 -144 lines
Diff to previous 1.36 (colored) to selected 1.62.2.1 (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.36.2.1 / (download) - annotate - [select for diffs], Fri Sep 7 04:45:40 2001 UTC (22 years, 6 months ago) by thorpej
Branch: thorpej-devvp
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored) to selected 1.62.2.1 (colored)

Commit my "devvp" changes to the thorpej-devvp branch.  This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).

Revision 1.35.2.1 / (download) - annotate - [select for diffs], Sat Aug 25 06:16:53 2001 UTC (22 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.35: +21 -7 lines
Diff to previous 1.35 (colored) to selected 1.62.2.1 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.31.2.4 / (download) - annotate - [select for diffs], Fri Aug 24 00:11:57 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.3: +21 -7 lines
Diff to previous 1.31.2.3 (colored) to selected 1.62.2.1 (colored)

Catch up with -current.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Aug 17 05:51:29 2001 UTC (22 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.35: +21 -7 lines
Diff to previous 1.35 (colored) to selected 1.62.2.1 (colored)

make genfs get/put work for block devices as well:
 - the "fs bshift" for block devices is always DEV_BSHIFT.
 - retrieve the device vnode from VOP_BMAP() and use that to set b_dev
   in page i/o buffers.

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Thu Jun 21 20:07:34 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.2: +20 -12 lines
Diff to previous 1.31.2.2 (colored) to selected 1.62.2.1 (colored)

Catch up to -current.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Jun 14 08:22:14 2001 UTC (22 years, 9 months ago) by chs
Branch: MAIN
Branch point for: kqueue
Changes since 1.34: +12 -11 lines
Diff to previous 1.34 (colored) to selected 1.62.2.1 (colored)

be sure to allocate dirty zeroed pages to cover blocks we allocate
to resolve a write fault.  fixes PR 13201.
also, be sure to allocate blocks for write faults to holes even if
the page is already in memory.  fixes PR 13189.

Revision 1.34 / (download) - annotate - [select for diffs], Mon May 28 02:50:52 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.33: +8 -1 lines
Diff to previous 1.33 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.33 / (download) - annotate - [select for diffs], Sat May 26 21:27:19 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored) to selected 1.62.2.1 (colored)

replace vm_page_t with struct vm_page *.

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Mon Apr 9 01:58:08 2001 UTC (22 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.31.2.1: +5 -5 lines
Diff to previous 1.31.2.1 (colored) to selected 1.62.2.1 (colored)

Catch up with -current.

Revision 1.13.2.6 / (download) - annotate - [select for diffs], Mon Mar 12 13:31:44 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.5: +46 -43 lines
Diff to previous 1.13.2.5 (colored) next main 1.14 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Mar 10 22:46:45 2001 UTC (23 years ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.31: +5 -5 lines
Diff to previous 1.31 (colored) to selected 1.62.2.1 (colored)

eliminate the VM_PAGER_* error codes in favor of the traditional E* codes.
the mapping is:

VM_PAGER_OK		        0
VM_PAGER_BAD		        <unused>
VM_PAGER_FAIL		        <unused>
VM_PAGER_PEND		        0 (see below)
VM_PAGER_ERROR		        EIO
VM_PAGER_AGAIN		        EAGAIN
VM_PAGER_UNLOCK		        EBUSY
VM_PAGER_REFAULT	        ERESTART

for async i/o requests, it used to be possible for the request to
be convert to sync, and the pager would return VM_PAGER_OK or VM_PAGER_PEND
to indicate whether the caller should perform post-i/o cleanup.
this is no longer allowed; pagers must now return 0 to indicate that
the async i/o was successfully started, and the caller never needs to
worry about doing the post-i/o cleanup.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 22:49:49 2001 UTC (23 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.31: +4 -3 lines
Diff to previous 1.31 (colored) to selected 1.62.2.1 (colored)

Initial commit of scheduler activations and lightweight process support.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Feb 28 02:59:19 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored) to selected 1.62.2.1 (colored)

in genfs_getpages(), don't try to optimize zeroing past EOF.
fixes PR 12297.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Feb 27 02:57:02 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.29: +25 -32 lines
Diff to previous 1.29 (colored) to selected 1.62.2.1 (colored)

distinguish between a file's in-memory EOF (which marks the offset at
which we disallow creation of page cache pages) and its on-disk EOF
(which marks the offset at which there is not (yet) data on disk that
we need to read when creating pages).  for requests with PGO_PASTEOF,
the in-memory EOF maybe be much larger than the on-disk EOF.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Feb 18 15:03:42 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.28: +16 -6 lines
Diff to previous 1.28 (colored) to selected 1.62.2.1 (colored)

fix a couple more bugs:
 - in genfs_getpages(), unbusy any pages that we don't free in the error path.
 - in genfs_putpages(), if we get a bmap error, record that in the master buf.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Feb 12 19:12:10 2001 UTC (23 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.27: +0 -7 lines
Diff to previous 1.27 (colored) to selected 1.62.2.1 (colored)

Oops, removal unintenionally commited debug code.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Feb 12 17:41:49 2001 UTC (23 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.26: +8 -1 lines
Diff to previous 1.26 (colored) to selected 1.62.2.1 (colored)

Format arg nit.

Revision 1.13.2.5 / (download) - annotate - [select for diffs], Sun Feb 11 19:16:58 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.4: +49 -26 lines
Diff to previous 1.13.2.4 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Feb 5 12:26:08 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.25: +47 -26 lines
Diff to previous 1.25 (colored) to selected 1.62.2.1 (colored)

fix several bugs:
 - in the cases where we skip over the i/o loop, increment npages by ridx
   so that when the cleanup code starts processing the pgs array at index 0
   it'll actually process all of the pages.
 - process the PG_RELEASED flag when unbusying pages.
 - add some missing MP locking.
 - use MIN() and MAX() instead of min() and max() since the latter are
   functions which take arguments of type "int" but we call them with
   values of type "off_t", so the values could be truncated.
 - in the PGO_PASTEOF case, use the larger of the current file size and the
   end of the requested range of pages as the file size for this request.
   this fixes some problems with sparsing writes to large offsets.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jan 22 16:39:54 2001 UTC (23 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.24: +7 -5 lines
Diff to previous 1.24 (colored) to selected 1.62.2.1 (colored)

Cast lbn to off_t in a few places, to avoid daddr_t overflow and all sorts
of havoc. From Bill Sommerfeld.

Revision 1.13.2.4 / (download) - annotate - [select for diffs], Fri Jan 5 17:36:47 2001 UTC (23 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.3: +4 -10 lines
Diff to previous 1.13.2.3 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Wed Dec 27 04:47:43 2000 UTC (23 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.23: +5 -11 lines
Diff to previous 1.23 (colored) to selected 1.62.2.1 (colored)

several bugs:
 - in genfs_getpages() don't start read-ahead if we get an error on the
   sync read, and always start read-ahead after the range of the sync read
   if we do any at all.
 - off-by-one error in genfs_size().

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Thu Dec 14 23:36:08 2000 UTC (23 years, 3 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.18: +3 -1 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.62.2.1 (colored)

Pull up revision 1.20 (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.13.2.3 / (download) - annotate - [select for diffs], Wed Dec 13 15:50:26 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.2: +1 -1 lines
Diff to previous 1.13.2.2 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD (for UBC fixes).

Revision 1.23 / (download) - annotate - [select for diffs], Sat Dec 9 22:38:23 2000 UTC (23 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.62.2.1 (colored)

only zero the part of the page after EOF if we're actually
initializing the page.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:15:00 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.1: +658 -1 lines
Diff to previous 1.13.2.1 (colored) to selected 1.62.2.1 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Mon Nov 27 18:26:38 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.21: +3 -5 lines
Diff to previous 1.21 (colored) to selected 1.62.2.1 (colored)

allow building without SOFTDEP by adding the pageiodone hook to bio_ops.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:45 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.20: +660 -1 lines
Diff to previous 1.20 (colored) to selected 1.62.2.1 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:09:45 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13: +7 -7 lines
Diff to previous 1.13 (colored) to selected 1.62.2.1 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.20 / (download) - annotate - [select for diffs], Tue Sep 19 22:01:59 2000 UTC (23 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.19: +3 -1 lines
Diff to previous 1.19 (colored) to selected 1.62.2.1 (colored)

Adapt for VOP_FSYNC parameter change.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Aug 3 20:41:27 2000 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) to selected 1.62.2.1 (colored)

Convert namei pathname buffer allocation to use the pool allocator.

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:09:31 2000 UTC (23 years, 9 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) next main 1.18 (colored) to selected 1.62.2.1 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.18 / (download) - annotate - [select for diffs], Mon May 29 18:59:51 2000 UTC (23 years, 10 months 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.17: +2 -2 lines
Diff to previous 1.17 (colored) to selected 1.62.2.1 (colored)

Stylistic change.

Revision 1.17 / (download) - annotate - [select for diffs], Sat May 13 23:43:09 2000 UTC (23 years, 10 months ago) by perseant
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored) to selected 1.62.2.1 (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.16 / (download) - annotate - [select for diffs], Thu Mar 30 12:22:14 2000 UTC (24 years ago) by augustss
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored) to selected 1.62.2.1 (colored)

Register, begone!

Revision 1.13.6.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:04 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.13: +2 -4 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.62.2.1 (colored)

Pull up to last week's -current.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:10 1999 UTC (24 years, 4 months ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) to selected 1.62.2.1 (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.13.4.2 / (download) - annotate - [select for diffs], Mon Nov 15 00:42:09 1999 UTC (24 years, 4 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.13.4.1: +1 -3 lines
Diff to previous 1.13.4.1 (colored) next main 1.14 (colored) to selected 1.62.2.1 (colored)

Sync with -current

Revision 1.14 / (download) - annotate - [select for diffs], Sat Oct 23 19:34:50 1999 UTC (24 years, 5 months ago) by fvdl
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.13: +1 -3 lines
Diff to previous 1.13 (colored) to selected 1.62.2.1 (colored)

Remove some mentioned members in the vop {un}lock args struct that we
do not actually have.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:12 1999 UTC (24 years, 5 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.11.4.7 / (download) - annotate - [select for diffs], Tue Aug 31 21:03:44 1999 UTC (24 years, 7 months ago) by perseant
Branch: chs-ubc2
Changes since 1.11.4.6: +6 -5 lines
Diff to previous 1.11.4.6 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored) to selected 1.62.2.1 (colored)

Rudimentary support for LFS under UBC:

- LFS-specific VOP_BALLOC and VOP_PUTPAGES vnode ops.

- getblk VREG panic #ifdef'd out (can be reinstated when Ifile is
  internalized and Ifile can be made another type from VREG)

- interface to VOP_PUTPAGES changed to pass all pager flags, not
  just sync.  FS putpages routines must know about the pager flags.

- new LFS magic disk address, -2 ("unwritten"), meaning accounted for
  but not assigned to a fixed disk location (since LFS does these two
  things separately, and the previous accounting method using buffer
  headers no longer will work).  Changed references to (foo == (daddr_t)-1)
  to (foo < 0).  Since disk drivers reject all addresses < 0, this should
  not present a problem for other FSs.

Revision 1.11.4.6 / (download) - annotate - [select for diffs], Mon Aug 9 00:05:54 1999 UTC (24 years, 7 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.5: +2 -2 lines
Diff to previous 1.11.4.5 (colored) to branchpoint 1.11 (colored) to selected 1.62.2.1 (colored)

create a new type "voff_t" for uvm_object offsets
and define it to be "off_t".  also, remove pgo_asyncget().

Revision 1.13 / (download) - annotate - [select for diffs], Tue Aug 3 20:19:19 1999 UTC (24 years, 8 months ago) by wrstuden
Branch: MAIN
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.12: +21 -1 lines
Diff to previous 1.12 (colored) to selected 1.62.2.1 (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.11.4.5 / (download) - annotate - [select for diffs], Mon Aug 2 22:27:34 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.11.4.4: +86 -69 lines
Diff to previous 1.11.4.4 (colored) to branchpoint 1.11 (colored) to selected 1.62.2.1 (colored)

Update from trunk.

Revision 1.11.4.4 / (download) - annotate - [select for diffs], Sat Jul 31 18:45:33 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.3: +156 -106 lines
Diff to previous 1.11.4.3 (colored) to branchpoint 1.11 (colored) to selected 1.62.2.1 (colored)

genfs_getpages() now handles:
- faults on offsets past the nominal EOF during extending writes.
- returning multiple pages in the !PGO_LOCKED case if multiple pages
  are requested.
- using new VOP_BALLOC() interface to for allocating getpages with
  blocksize<pagesize.
genfs_putpages() now handles:
- writing pages which do not have full backing store allocated.

Revision 1.11.4.3 / (download) - annotate - [select for diffs], Mon Jul 12 02:40:30 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.2: +7 -8 lines
Diff to previous 1.11.4.2 (colored) to branchpoint 1.11 (colored) to selected 1.62.2.1 (colored)

fix the PGO_OVERWRITE case, I don't know how it was working before.
tidy a few other bits.

Revision 1.11.4.2 / (download) - annotate - [select for diffs], Sun Jul 11 05:56:38 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.1: +218 -155 lines
Diff to previous 1.11.4.1 (colored) to branchpoint 1.11 (colored) to selected 1.62.2.1 (colored)

yet another major rework of the generic getpages.
we now do the block allocations for allocating getpages operations
after reading the pages.  for nested i/os, use b_resid rather than
b_bcount to track the amount left to go.   return values for
getpages/putpages are now unix errnos rather than VM_PAGER_*.
readahead is gone again for the moment.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jul 8 01:18:59 1999 UTC (24 years, 8 months ago) by wrstuden
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.11: +86 -69 lines
Diff to previous 1.11 (colored) to selected 1.62.2.1 (colored)

Introduce layer library in genfs. This set of files abstracts most of
the functionality of nullfs. The latter is now just a mount & unmount
routine, and a few tables. umapfs borrow most of this infrastructure.

Both fs's are now nfs-exportable.

All layered fs's share a common format to private mount & private
vnode structs (which a particular fs can extend).

Also add genfs_noerr_rele(), a vnode op which will vrele/vput
operand vnodes appropriately.

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Sun Jul 4 01:44:43 1999 UTC (24 years, 9 months ago) by chs
Branch: chs-ubc2
Changes since 1.11: +435 -1 lines
Diff to previous 1.11 (colored) to selected 1.62.2.1 (colored)

create genfs_getpages() and genfs_putpages().
these should be able to handle most of the local-disk filesystems.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Mar 5 21:09:49 1999 UTC (25 years ago) by mycroft
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
Branch point for: chs-ubc2
Changes since 1.10: +7 -9 lines
Diff to previous 1.10 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 13 09:59:53 1998 UTC (25 years, 7 months ago) by kleink
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.9: +10 -1 lines
Diff to previous 1.9 (colored) to selected 1.62.2.1 (colored)

Add genfs_einval(), which does the obvious thing.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Aug 10 08:11:11 1998 UTC (25 years, 7 months ago) by matthias
Branch: MAIN
Changes since 1.8: +10 -1 lines
Diff to previous 1.8 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jun 25 22:15:30 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.7: +39 -1 lines
Diff to previous 1.7 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jun 5 19:53:00 1998 UTC (25 years, 9 months ago) by kleink
Branch: MAIN
Changes since 1.6: +10 -5 lines
Diff to previous 1.6 (colored) to selected 1.62.2.1 (colored)

* Convert fsync vnode operator implementations and usage from the old
  waitfor argument and MNT_WAIT/MNT_NOWAIT to flags and FSYNC_WAIT.
* In genfs_fsync(), honor the FSYNC_NODATA flag.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Mar 1 02:22:04 1998 UTC (26 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.5: +211 -1 lines
Diff to previous 1.5 (colored) to selected 1.62.2.1 (colored)

Merge with Lite2 + local changes

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jan 5 19:20:11 1998 UTC (26 years, 2 months ago) by perry
Branch: MAIN
Changes since 1.4: +2 -0 lines
Diff to previous 1.4 (colored) to selected 1.62.2.1 (colored)

RCSID Police.

Revision 1.4 / (download) - annotate - [select for diffs], Fri Apr 11 21:52:04 1997 UTC (26 years, 11 months ago) by kleink
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia, bouyer-scsipi
Changes since 1.3: +17 -0 lines
Diff to previous 1.3 (colored) to selected 1.62.2.1 (colored)

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

Revision 1.3 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:13 1996 UTC (27 years, 6 months ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.2: +5 -9 lines
Diff to previous 1.2 (colored) to selected 1.62.2.1 (colored)

Implement poll(2).

Revision 1.2 / (download) - annotate - [select for diffs], Thu Sep 5 09:26:15 1996 UTC (27 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.1: +2 -0 lines
Diff to previous 1.1 (colored) to selected 1.62.2.1 (colored)

Remove some unused variables.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Sep 1 23:48:07 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Diff to selected 1.62.2.1 (colored)

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

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>