The NetBSD Project

CVS log for src/sys/miscfs/specfs/spec_vnops.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.218 / (download) - annotate - [select for diffs], Sat Apr 22 15:32:49 2023 UTC (11 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.217: +52 -49 lines
Diff to previous 1.217 (colored) to selected 1.98.2.1 (colored)

specfs: KNF.  No functional change intended.

Revision 1.217 / (download) - annotate - [select for diffs], Sat Apr 22 14:30:16 2023 UTC (11 months ago) by hannken
Branch: MAIN
Changes since 1.216: +2 -3 lines
Diff to previous 1.216 (colored) to selected 1.98.2.1 (colored)

Remove unused specdev member sd_rdev.

Ride 10.99.4

Revision 1.216 / (download) - annotate - [select for diffs], Sat Oct 15 15:20:46 2022 UTC (17 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.215: +13 -2 lines
Diff to previous 1.215 (colored) to selected 1.98.2.1 (colored)

specfs(9): Attribute blame by stack trace for write to r/o medium.

Revision 1.215 / (download) - annotate - [select for diffs], Wed Sep 21 10:59:10 2022 UTC (18 months ago) by riastradh
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.214: +4 -3 lines
Diff to previous 1.214 (colored) to selected 1.98.2.1 (colored)

specfs(9): XXX comment: what if read downgrades lock?

Revision 1.214 / (download) - annotate - [select for diffs], Fri Aug 12 21:25:39 2022 UTC (19 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.213: +8 -3 lines
Diff to previous 1.213 (colored) to selected 1.98.2.1 (colored)

specfs: Refuse to open a closing-in-progress block device.

We could wait for close to complete, but if this happened ever so
slightly earlier it would lead to EBUSY anyway, so there's no point
in adding logic for that -- either way the caller neglected to wait
for the last close to finish before trying to open it the device
again.

https://mail-index.netbsd.org/current-users/2022/08/09/msg042800.html

Reported-by: syzbot+4388f20706ec8a4c8db0@syzkaller.appspotmail.com
https://syzkaller.appspot.com/bug?id=47c67ab6d3a87514d0707882a9ad6671beaa8642

Reported-by: syzbot+0f1756652dce4cb341ed@syzkaller.appspotmail.com
https://syzkaller.appspot.com/bug?id=a632ce762d64241fc82a9bc57230b7b7c7095d1a

Revision 1.213 / (download) - annotate - [select for diffs], Fri Aug 12 17:06:01 2022 UTC (19 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.212: +3 -2 lines
Diff to previous 1.212 (colored) to selected 1.98.2.1 (colored)

specfs: Assert !closing on successful open.

- If there's a prior concurrent close, it must have interrupted this
  open.

- If there's a new concurrent close, it must wait until this open has
  released device_lock before it can revoke.

Revision 1.212 / (download) - annotate - [select for diffs], Fri Aug 12 17:05:49 2022 UTC (19 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.211: +13 -2 lines
Diff to previous 1.211 (colored) to selected 1.98.2.1 (colored)

specfs: Assert opencnt>0 on successful open.

Revision 1.211 / (download) - annotate - [select for diffs], Thu Aug 11 12:52:24 2022 UTC (19 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.210: +20 -4 lines
Diff to previous 1.210 (colored) to selected 1.98.2.1 (colored)

specfs: Sprinkle opencnt/opened/closing assertions.

There seems to be a bug here but I'm not sure what it is yet:

https://mail-index.netbsd.org/current-users/2022/08/09/msg042800.html
https://syzkaller.appspot.com/bug?id=47c67ab6d3a87514d0707882a9ad6671beaa8642

The decision to actually invoke d_close is serialized under
device_lock, so it should not be possible for more than one process
to close at the same time, but syzbot and kre found a way for
sd_closing to be false later in spec_close.  Let's make sure it's
false when we're making what should be the exclusive decision to
close.

We can't assert !sd_opened before cancel and spec_io_drain, because
those are necessary to interrupt and wait for pending opens that
might later set sd_opened, but we can assert !sd_opened afterward
because once sd_closing is true nothing should set sd_opened.

Revision 1.210 / (download) - annotate - [select for diffs], Mon Mar 28 12:39:10 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.209: +18 -2 lines
Diff to previous 1.209 (colored) to selected 1.98.2.1 (colored)

driver(9): New devsw d_cancel op to interrupt I/O before close.

If specified, when revoking a device node or closing its last open
node, specfs will:

1. Call d_cancel, which should return promptly without blocking.
2. Wait for all concurrent d_read/write/ioctl/&c. to drain.
3. Call d_close.

Otherwise, specfs will:

1. Call d_close.
2. Wait for all concurrent d_read/write/ioctl/&c. to drain.

This fallback is problematic because often parts of d_close rely on
concurrent devsw operations to have completed already, so it is up to
each driver to have its own mechanism for waiting, and the extra step
in (2) is almost redundant.  But it is still important to ensure that
devsw operations are not active by the time a module tries to invoke
devsw_detach, because only d_open is protected against that.

The signature of d_cancel matches d_close, mostly so we don't raise
questions about `why is this different?'; the lwp argument is not
useful but we should remove it from open/cancel/close all at the same
time.

The only way d_cancel should fail, if it does at all, is with ENODEV,
meaning the driver doesn't support cancelling outstanding I/O, and
will take responsibility for that in d_close.  I would make it return
void and only have bdev_cancel and cdev_cancel possibly return ENODEV
so specfs can detect whether a driver supports it, but this would
break the pattern around devsw operation types.

Drivers are allowed to omit it from struct bdevsw, struct cdevsw --
if so, it is as if they used a function that just returns ENODEV.

XXX kernel ABI change to struct bdevsw/cdevsw requires bump

Revision 1.209 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:56 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.208: +20 -20 lines
Diff to previous 1.208 (colored) to selected 1.98.2.1 (colored)

specfs: Remove specnode from hash table in spec_node_revoke.

Previously, it was possible for spec_node_lookup_by_dev to handle a
speconde that a concurrent spec_node_destroy is about to remove from
the hash table and then free, as soon as spec_node_lookup_by_dev
releases device_lock.

Now, the ordering is:

1. Remove specnode from hash table in spec_node_revoke.  At this
   point, no _new_ vnode references are possible (other than possibly
   one acquired by vcache_vget under v_interlock), but there may be
   existing ones.

2. Mark vnode reclaimed so vcache_vget will fail.

3. The last vrele (or equivalent logic in vcache_vget) will then free
   the specnode in spec_node_destroy.

This way, _if_ a thread in spec_node_lookup_by_dev finds a specnode
in the hash table under device_lock/v_interlock, _then_ it will not
be freed until the thread completes vcache_vget.

This change requires calling spec_node_revoke unconditionally for
device special nodes, not just for active ones.  Might introduce
slightly more contention on device_lock but not much because we
already have to take it in this path anyway a little later in
spec_node_destroy.

Revision 1.208 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:46 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.207: +21 -4 lines
Diff to previous 1.207 (colored) to selected 1.98.2.1 (colored)

specfs: Let spec_node_lookup_by_dev wait for reclaim to finish.

vdevgone relies on this to ensure that if there is a concurrent
revoke in progress, it will wait for that revoke to finish -- that
way, it can guarantee all I/O operations have completed and the
device is closed.

Revision 1.207 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:35 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.206: +6 -2 lines
Diff to previous 1.206 (colored) to selected 1.98.2.1 (colored)

specfs: Assert opencnt is nonzero before decrementing.

Revision 1.206 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:26 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.205: +34 -9 lines
Diff to previous 1.205 (colored) to selected 1.98.2.1 (colored)

specfs: Take an I/O reference across bdev/cdev_open.

- Revoke is used to invalidate all prior access control checks when
  device permissions are changing, so it must wait for .d_open to exit
  so any new access must go through new access control checks.

- Revoke is used by vdevgone in xyz_detach to wait until all use of
  the driver's data structures have completed before xyz_detach frees
  them.

So we need to make sure spec_close waits for .d_open too.

Revision 1.205 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:18 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.204: +12 -2 lines
Diff to previous 1.204 (colored) to selected 1.98.2.1 (colored)

specfs: Wait for last close in spec_node_revoke.

Otherwise, revoke -- and vdevgone, in the detach path of removable
devices -- may complete while I/O operations are still running
concurrently.

Revision 1.204 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:09 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.203: +28 -4 lines
Diff to previous 1.203 (colored) to selected 1.98.2.1 (colored)

specfs: Prevent new opens while close is waiting to drain.

Otherwise, bdev/cdev_close could have cancelled all _existing_ opens,
and waited for them to complete (and freed resources used by them) --
but a new one could start, and hang (e.g., a tty), at the same time
spec_close tries to drain all pending I/O operations, one of which
(the new open) is now hanging indefinitely.

Preventing the new open from even starting until bdev/cdev_close is
finished and all I/O operations have drained avoids this deadlock.

Revision 1.203 / (download) - annotate - [select for diffs], Mon Mar 28 12:37:01 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.202: +40 -7 lines
Diff to previous 1.202 (colored) to selected 1.98.2.1 (colored)

specfs: Take an I/O reference in spec_node_setmountedfs.

This is not quite correct.  We _should_ require the caller to hold a
vnode lock around spec_node_getmountedfs, and an exclusive vnode lock
around spec_node_setmountedfs, so that it is only necessary to check
whether revoke has already happened, not hold an I/O reference.

Unfortunately, various callers in various file systems don't follow
this sensible rule.  So let's at least make sure the vnode can't be
revoked in spec_node_setmountedfs, while we're in bdev_ioctl, and
leave a comment explaining what the sorry state of affairs is and how
to fix it later.

Revision 1.202 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:51 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.201: +267 -90 lines
Diff to previous 1.201 (colored) to selected 1.98.2.1 (colored)

specfs: Drain all I/O operations after last .d_close call.

New kind of I/O reference on specdevs, sd_iocnt.  This could be done
with psref instead; I chose a reference count instead for now because
we already have to take a per-object lock anyway, v_interlock, for
vdead_check, so another atomic is not likely to hurt much more.  We
can always change the mechanism inside spec_io_enter/exit/drain later
on.

Make sure every access to vp->v_rdev or vp->v_specnode and every call
to a devsw operation is protected either:

- by the vnode lock (with vdead_check if we unlocked/relocked),
- by positive sd_opencnt,
- by spec_io_enter/exit, or
- by sd_opencnt management in open/close.

Revision 1.201 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:42 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.200: +64 -11 lines
Diff to previous 1.200 (colored) to selected 1.98.2.1 (colored)

specfs: Resolve a race between close and a failing reopen.

Revision 1.200 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:26 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.199: +4 -2 lines
Diff to previous 1.199 (colored) to selected 1.98.2.1 (colored)

specfs: Paranoia: Assert opencnt is zero on reclaim.

Revision 1.199 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:18 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.198: +3 -13 lines
Diff to previous 1.198 (colored) to selected 1.98.2.1 (colored)

specfs: Omit needless vdead_check in spec_fdiscard.

The vnode lock is held, so the vnode cannot be revoked without also
changing v_op so subsequent uses under the vnode lock will go to
deadfs's VOP_FDISCARD instead (which is genfs_eopnotsupp).

Revision 1.198 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:09 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.197: +12 -3 lines
Diff to previous 1.197 (colored) to selected 1.98.2.1 (colored)

specfs: Add a comment and assertion to spec_close about refcnts.

Revision 1.197 / (download) - annotate - [select for diffs], Mon Mar 28 12:36:00 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.196: +3 -2 lines
Diff to previous 1.196 (colored) to selected 1.98.2.1 (colored)

specfs: If sd_opencnt is zero, sn_opencnt had better be zero.

Revision 1.196 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:52 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.195: +3 -4 lines
Diff to previous 1.195 (colored) to selected 1.98.2.1 (colored)

specfs: Factor KASSERT out of switch in spec_open.

No functional change.

Revision 1.195 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:44 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.194: +8 -15 lines
Diff to previous 1.194 (colored) to selected 1.98.2.1 (colored)

specfs: sn_gone cannot be set while we hold the vnode lock.

Revoke runs with the vnode lock too, which is exclusive.  Add an
assertion to this effect in spec_node_revoke to make it clear.

Revision 1.194 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:35 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.193: +20 -8 lines
Diff to previous 1.193 (colored) to selected 1.98.2.1 (colored)

specfs: Reorganize D_DISK tail of spec_open and explain what's up.

No functional change intended.

Revision 1.193 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:26 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.192: +4 -8 lines
Diff to previous 1.192 (colored) to selected 1.98.2.1 (colored)

specfs: Factor VOP_UNLOCK/vn_lock out of switch for clarity.

No functional change.

Revision 1.192 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:17 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.191: +12 -12 lines
Diff to previous 1.191 (colored) to selected 1.98.2.1 (colored)

specfs: Factor common device_lock out of switch for clarity.

No functional change.

Revision 1.191 / (download) - annotate - [select for diffs], Mon Mar 28 12:35:08 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.190: +2 -8 lines
Diff to previous 1.190 (colored) to selected 1.98.2.1 (colored)

specfs: Delete bogus comment about .d_open/.d_close at same time.

Annoying as it is that .d_open and .d_close can run at the same time,
it is also necessary for tty semantics, where open can block
indefinitely, and it is the responsibility of close (called via
revoke) necessary to interrupt it.

Revision 1.190 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:59 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.189: +107 -24 lines
Diff to previous 1.189 (colored) to selected 1.98.2.1 (colored)

specfs: Split spec_open switch into three sections.

The sections are now:

1. Acquire open reference.

1a (intermezzo). Set VV_ISTTY.

2. Drop the vnode lock to call .d_open and autoload modules if
   necessary.

3. Handle concurrent revoke if it happenend, or release open reference
   if .d_open failed.

No functional change.  Sprinkle comments about problems.

Revision 1.189 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:51 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.188: +5 -10 lines
Diff to previous 1.188 (colored) to selected 1.98.2.1 (colored)

specfs: Factor common kauth check out of switch in spec_open.

No functional change.

Revision 1.188 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:42 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.187: +7 -11 lines
Diff to previous 1.187 (colored) to selected 1.98.2.1 (colored)

specfs: Assert v_type is VBLK or VCHR in spec_open.

Nothing else makes sense.  Prune dead branches (and replace default
case by panic).

Revision 1.187 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:34 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.186: +4 -6 lines
Diff to previous 1.186 (colored) to selected 1.98.2.1 (colored)

specfs: Call bdev_open without the vnode lock.

There is no need for it to serialize opens, because they are already
serialized by sd_opencnt which for block devices is always either 0
or 1.

There's not obviously any other reason why the vnode lock should be
held across bdev_open, other than that it might be nice to avoid
dropping it if not necessary.  For character devices we always have
to drop the vnode lock because open might hang indefinitely, when
opening a tty, which is not allowed while holding the vnode lock.

Revision 1.186 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:25 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.185: +10 -2 lines
Diff to previous 1.185 (colored) to selected 1.98.2.1 (colored)

specfs: Note lock order for vnode lock, device_lock, v_interlock.

Revision 1.185 / (download) - annotate - [select for diffs], Mon Mar 28 12:34:17 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.184: +3 -3 lines
Diff to previous 1.184 (colored) to selected 1.98.2.1 (colored)

driver(9): Eliminate D_MCLOSE.

D_MCLOSE was introduced a few years ago by mistake for audio(4),
which should have used -- and now does use -- fd_clone to create
per-open state.  The semantics was originally to call close once
every time the device node is closed, not only for the last close.
Nothing uses it any more, and it complicates reasoning about the
system, so let's simplify it away.

Revision 1.184 / (download) - annotate - [select for diffs], Sat Mar 19 13:52:11 2022 UTC (2 years ago) by hannken
Branch: MAIN
Changes since 1.183: +5 -5 lines
Diff to previous 1.183 (colored) to selected 1.98.2.1 (colored)

Switch spec_vnodeop vector to real vnode locking, VV_LOCKSWORK now.

Revision 1.181.4.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.181: +27 -26 lines
Diff to previous 1.181 (colored) next main 1.182 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.183 / (download) - annotate - [select for diffs], Sun Jul 18 23:57:14 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.182: +26 -26 lines
Diff to previous 1.182 (colored) to selected 1.98.2.1 (colored)

Abolish all the silly indirection macros for initializing vnode ops tables.

These are things of the form #define foofs_op genfs_op, or #define
foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides
obfuscation, and have gotten cutpasted all over everywhere.

Revision 1.182 / (download) - annotate - [select for diffs], Tue Jun 29 22:34:09 2021 UTC (2 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.181: +3 -2 lines
Diff to previous 1.181 (colored) to selected 1.98.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.180.2.1 / (download) - annotate - [select for diffs], Sun Jan 3 16:35:04 2021 UTC (3 years, 2 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.180: +36 -5 lines
Diff to previous 1.180 (colored) next main 1.181 (colored) to selected 1.98.2.1 (colored)

Sync w/ HEAD.

Revision 1.181 / (download) - annotate - [select for diffs], Fri Dec 25 09:28:56 2020 UTC (3 years, 3 months ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-futex-base, 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.180: +36 -5 lines
Diff to previous 1.180 (colored) to selected 1.98.2.1 (colored)

When reading from a block device, queue parallel block requests to
fill a buffer with breadn.

Revision 1.180 / (download) - annotate - [select for diffs], Sat Jun 27 17:29:19 2020 UTC (3 years, 9 months ago) by christos
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.179 / (download) - annotate - [select for diffs], Sat May 23 23:42:43 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.178: +5 -5 lines
Diff to previous 1.178 (colored) to selected 1.98.2.1 (colored)

Move proc_lock into the data segment.  It was dynamically allocated because
at the time we had mutex_obj_alloc() but not __cacheline_aligned.

Revision 1.178 / (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.177: +3 -2 lines
Diff to previous 1.177 (colored) to selected 1.98.2.1 (colored)

Add ACL support for FFS. From FreeBSD.

Revision 1.174.6.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:43 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.174.6.2: +2 -2 lines
Diff to previous 1.174.6.2 (colored) to branchpoint 1.174 (colored) next main 1.175 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.176.6.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:11 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.176: +4 -4 lines
Diff to previous 1.176 (colored) next main 1.177 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.177 / (download) - annotate - [select for diffs], Mon Apr 13 20:02:27 2020 UTC (3 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.176: +4 -4 lines
Diff to previous 1.176 (colored) to selected 1.98.2.1 (colored)

when determining I/O block size for VBLK device, only use pi_bsize
returned by DIOCGPARTINFO if it's bigger than DEV_BSIZE and less
than MAXBSIZE (MAXPHYS)

fixes panic "buf mem pool index 8" in buf_mempoolidx() when the
disklabel contains bsize 128KB and something reads the block device -
buffer cache can't allocate bufs bigger than MAXPHYS

Revision 1.174.6.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:05 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.174.6.1: +12 -2 lines
Diff to previous 1.174.6.1 (colored) to branchpoint 1.174 (colored) to selected 1.98.2.1 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.176 / (download) - annotate - [select for diffs], Sun Sep 22 22:59:39 2019 UTC (4 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.175: +12 -2 lines
Diff to previous 1.175 (colored) to selected 1.98.2.1 (colored)

Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=

Revision 1.174.6.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:06 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.174: +6 -6 lines
Diff to previous 1.174 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.174.4.1 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:43 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.174: +6 -6 lines
Diff to previous 1.174 (colored) next main 1.175 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.175 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:35 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, 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
Changes since 1.174: +6 -6 lines
Diff to previous 1.174 (colored) to selected 1.98.2.1 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.135.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:48 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.135.2.3: +100 -83 lines
Diff to previous 1.135.2.3 (colored) to branchpoint 1.135 (colored) next main 1.136 (colored) to selected 1.98.2.1 (colored)

update from HEAD

Revision 1.145.4.9 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:09 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.8: +23 -17 lines
Diff to previous 1.145.4.8 (colored) to branchpoint 1.145 (colored) next main 1.146 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.173.2.1 / (download) - annotate - [select for diffs], Sat Jul 1 08:54:08 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.173: +6 -3 lines
Diff to previous 1.173 (colored) next main 1.174 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #76):
	sys/miscfs/specfs/spec_vnops.c: revision 1.174
Refuse to open a block device with zero open count when it has
a mountpoint set.  This may happen after forced detach or unplug
of a mounted block device.

Revision 1.174 / (download) - annotate - [select for diffs], Sat Jun 24 12:14:21 2017 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.173: +6 -3 lines
Diff to previous 1.173 (colored) to selected 1.98.2.1 (colored)

Refuse to open a block device with zero open count when it has
a mountpoint set.  This may happen after forced detach or unplug
of a mounted block device.

Revision 1.173 / (download) - annotate - [select for diffs], Thu Jun 1 02:45:14 2017 UTC (6 years, 9 months ago) by chs
Branch: MAIN
CVS Tags: netbsd-8-base
Branch point for: netbsd-8
Changes since 1.172: +2 -10 lines
Diff to previous 1.172 (colored) to selected 1.98.2.1 (colored)

remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.172 / (download) - annotate - [select for diffs], Fri May 26 14:21:02 2017 UTC (6 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.171: +6 -4 lines
Diff to previous 1.171 (colored) to selected 1.98.2.1 (colored)

Make VOP_RECLAIM do the last unlock of the vnode.

VOP_RECLAIM naturally has exclusive access to the vnode, so having it
locked on entry is not strictly necessary -- but it means if there
are any final operations that must be done on the vnode, such as
ffs_update, requiring exclusive access to it, we can now kassert that
the vnode is locked in those operations.

We can't just have the caller release the last lock because some file
systems don't use genfs_lock, and require the vnode to remain valid
for VOP_UNLOCK to work, notably unionfs.

Revision 1.171.2.1 / (download) - annotate - [select for diffs], Thu Apr 27 05:36:38 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.171: +16 -11 lines
Diff to previous 1.171 (colored) next main 1.172 (colored) to selected 1.98.2.1 (colored)

Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita.  There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.

Revision 1.162.2.8 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:28 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.7: +5 -6 lines
Diff to previous 1.162.2.7 (colored) to branchpoint 1.162 (colored) next main 1.163 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.168.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:04 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.168: +15 -6 lines
Diff to previous 1.168 (colored) next main 1.169 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.171 / (download) - annotate - [select for diffs], Wed Apr 12 06:43:56 2017 UTC (6 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, bouyer-socketcan-base1
Branch point for: prg-localcount2
Changes since 1.170: +3 -4 lines
Diff to previous 1.170 (colored) to selected 1.98.2.1 (colored)

Make the non-DIAGNOSTIC version compile

Revision 1.170 / (download) - annotate - [select for diffs], Tue Apr 11 14:25:01 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.169: +4 -4 lines
Diff to previous 1.169 (colored) to selected 1.98.2.1 (colored)

Make VOP_INACTIVE preserve vnode lock on return.

Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html

Ride 7.99.68, a bumpy bus of incremental vfs improvements!

Revision 1.162.2.7 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:49 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.6: +12 -2 lines
Diff to previous 1.162.2.6 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.169 / (download) - annotate - [select for diffs], Wed Mar 1 10:46:05 2017 UTC (7 years ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq
Changes since 1.168: +12 -2 lines
Diff to previous 1.168 (colored) to selected 1.98.2.1 (colored)

Add a diagnostic test for buffers written to a block device holding
a read-only mounted file system.

This will become a KASSERT in the near future.

Revision 1.145.4.8 / (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.145.4.7: +6 -6 lines
Diff to previous 1.145.4.7 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.162.2.6 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:49 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.5: +6 -6 lines
Diff to previous 1.162.2.5 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.168 / (download) - annotate - [select for diffs], Mon Jan 2 10:33:28 2017 UTC (7 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.167: +5 -5 lines
Diff to previous 1.167 (colored) to selected 1.98.2.1 (colored)

Rename vget() to vcache_vget() and vcache_tryvget() respectively and
move the definitions to sys/vnode_impl.h.

No functional change intended.

Welcome to 7.99.54

Revision 1.167 / (download) - annotate - [select for diffs], Fri Dec 9 19:13:47 2016 UTC (7 years, 3 months ago) by nat
Branch: MAIN
Changes since 1.166: +3 -3 lines
Diff to previous 1.166 (colored) to selected 1.98.2.1 (colored)

Add functions to access device flags.  This restores simultaneous audio
open/close.

OK hannken@ christos@

Revision 1.166 / (download) - annotate - [select for diffs], Thu Dec 8 10:28:44 2016 UTC (7 years, 3 months ago) by nat
Branch: MAIN
Changes since 1.165: +3 -3 lines
Diff to previous 1.165 (colored) to selected 1.98.2.1 (colored)

The audio sub-system now supports the following features as
posted to tech-kern:

    * Simultaneous playback and mixing of multiple streams
    * Playback streams can be of different encoding, frequency, precision
      and number of channels
    * Simultaneous recording to different formats
    * One audio device per process
    * Sysctls to set the common format frequency, precision and channels
    * Independent mixer controls for recording/playback per stream
    * Utilizes little cpu time for multiple streams / good performance
    * Compatible with existing programs that use OSS/NetBSD audio
    * Changes to audioctl(1) to allow specifying process id for corresponding
      audio device

Revision 1.145.4.7 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:03 2016 UTC (7 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.6: +4 -5 lines
Diff to previous 1.145.4.6 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.165 / (download) - annotate - [select for diffs], Thu Sep 8 08:45:52 2016 UTC (7 years, 6 months ago) by pgoyette
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914
Changes since 1.164: +0 -31 lines
Diff to previous 1.164 (colored) to selected 1.98.2.1 (colored)

Revert rev 1.164.  This will be redone differently (using "dummy"
modules).

This implementation requires changes to a base kernel in order to
update the set of "special" modules, kinda defeating the purpose of
having modules in the first place.  The new method will use dummy
modules (with name tap and tun) which will depend on the real
modules with the if_ prefix.

Coming soon to a NetBSD near you.

Revision 1.164 / (download) - annotate - [select for diffs], Thu Sep 8 00:07:48 2016 UTC (7 years, 6 months ago) by pgoyette
Branch: MAIN
Changes since 1.163: +33 -2 lines
Diff to previous 1.163 (colored) to selected 1.98.2.1 (colored)

if_config processing wants to auto-load modules named with an if_ prefix,
while specfc wants to auto-load modules without the prefix.  For modules
which can be loaded both ways (ie, if_tap and if_tun), provide a simple
conversion table for specfs so it can auto-load the if_ module.

This table should always be quite small, and the auto-load operation is
relatively infrequent, so the additional overhead of comparing names should
be tolerable.

Revision 1.163 / (download) - annotate - [select for diffs], Sat Aug 20 12:37:09 2016 UTC (7 years, 7 months ago) by hannken
Branch: MAIN
Changes since 1.162: +3 -4 lines
Diff to previous 1.162 (colored) to selected 1.98.2.1 (colored)

Remove now obsolete operation vcache_remove().

Welcome to 7.99.36

Revision 1.162.2.5 / (download) - annotate - [select for diffs], Sat Jul 23 21:54:50 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.4: +3 -8 lines
Diff to previous 1.162.2.4 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

Simplify, remove redundant code.

Revision 1.162.2.4 / (download) - annotate - [select for diffs], Sat Jul 23 05:01:09 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.3: +9 -2 lines
Diff to previous 1.162.2.3 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

Restore original handling of ioctl() returns.  If the underlying disk's
ioctl() returns success, we call uvm_vnp_setsize().  Regardless of any
error from the ioctl() call we should return success.

Revision 1.162.2.3 / (download) - annotate - [select for diffs], Fri Jul 22 01:50:12 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.2: +3 -3 lines
Diff to previous 1.162.2.2 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

Return the actual error code, rather than blind success.

Revision 1.162.2.2 / (download) - annotate - [select for diffs], Thu Jul 21 13:09:47 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162.2.1: +4 -4 lines
Diff to previous 1.162.2.1 (colored) to branchpoint 1.162 (colored) to selected 1.98.2.1 (colored)

fix an error patch to call {b,c}devsw_release()

Revision 1.162.2.1 / (download) - annotate - [select for diffs], Wed Jul 20 23:47:57 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.162: +11 -8 lines
Diff to previous 1.162 (colored) to selected 1.98.2.1 (colored)

Adapt machine-independant code to the new {b,c}devsw reference-counting
(using localcount(9)).  All callers of {b,c}devsw_lookup() now call
{b,c}devsw_lookup_acquire() which retains a reference on the 'struct
{b,c}devsw'.  This reference must be released by the caller once it is
finished with the structure's content (or other data that would disappear
if the 'struct {b,c}devsw' were to disappear).

Revision 1.134.8.1.4.1 / (download) - annotate - [select for diffs], Tue May 10 23:15:05 2016 UTC (7 years, 10 months ago) by snj
Branch: netbsd-6-0
Changes since 1.134.8.1: +31 -12 lines
Diff to previous 1.134.8.1 (colored) next main 1.134.8.2 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #1376):
	sys/miscfs/specfs/spec_vnops.c: revisions 1.161, 1.162 via patch
Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.
Fixes PR kern/50467 Panic from disconnecting phone while reading its contents
--
Avoid a race with spec_revoke for the assertion too.
Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.134.8.1.6.1 / (download) - annotate - [select for diffs], Tue May 10 23:14:45 2016 UTC (7 years, 10 months ago) by snj
Branch: netbsd-6-1
Changes since 1.134.8.1: +31 -12 lines
Diff to previous 1.134.8.1 (colored) next main 1.134.8.2 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #1376):
	sys/miscfs/specfs/spec_vnops.c: revisions 1.161, 1.162 via patch
Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.
Fixes PR kern/50467 Panic from disconnecting phone while reading its contents
--
Avoid a race with spec_revoke for the assertion too.
Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.134.8.2 / (download) - annotate - [select for diffs], Tue May 10 23:14:32 2016 UTC (7 years, 10 months ago) by snj
Branch: netbsd-6
Changes since 1.134.8.1: +31 -12 lines
Diff to previous 1.134.8.1 (colored) to branchpoint 1.134 (colored) next main 1.135 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #1376):
	sys/miscfs/specfs/spec_vnops.c: revisions 1.161, 1.162 via patch
Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.
Fixes PR kern/50467 Panic from disconnecting phone while reading its contents
--
Avoid a race with spec_revoke for the assertion too.
Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.145.6.1 / (download) - annotate - [select for diffs], Fri Apr 29 19:09:32 2016 UTC (7 years, 11 months ago) by snj
Branch: netbsd-7-0
CVS Tags: netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE
Changes since 1.145: +31 -13 lines
Diff to previous 1.145 (colored) next main 1.146 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #1154):
	sys/miscfs/specfs/spec_vnops.c: revision 1.161, 1.162
Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.
Fixes PR kern/50467 Panic from disconnecting phone while reading its contents
--
Avoid a race with spec_revoke for the assertion too.
Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.145.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 19:07:21 2016 UTC (7 years, 11 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Changes since 1.145: +31 -13 lines
Diff to previous 1.145 (colored) next main 1.146 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by hannken in ticket #1154):
	sys/miscfs/specfs/spec_vnops.c: revisions 1.161, 1.162
Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.
Fixes PR kern/50467 Panic from disconnecting phone while reading its contents
--
Avoid a race with spec_revoke for the assertion too.
Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.145.4.6 / (download) - annotate - [select for diffs], Fri Apr 22 15:44:17 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.5: +31 -13 lines
Diff to previous 1.145.4.5 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.162 / (download) - annotate - [select for diffs], Mon Apr 4 08:03:53 2016 UTC (7 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422
Branch point for: pgoyette-localcount
Changes since 1.161: +3 -4 lines
Diff to previous 1.161 (colored) to selected 1.98.2.1 (colored)

Avoid a race with spec_revoke for the assertion too.

Final fix for PR kern/50467 Panic from disconnecting phone while reading
its contents

Revision 1.161 / (download) - annotate - [select for diffs], Sat Mar 26 14:58:13 2016 UTC (8 years ago) by hannken
Branch: MAIN
Changes since 1.160: +32 -13 lines
Diff to previous 1.160 (colored) to selected 1.98.2.1 (colored)

Whhen spec_strategy() extracts v_rdev take care to avoid a
race with spec_revoke.

Fixes PR kern/50467 Panic from disconnecting phone while reading its contents

Revision 1.145.4.5 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:32 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.4: +11 -16 lines
Diff to previous 1.145.4.4 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.160 / (download) - annotate - [select for diffs], Tue Jan 5 09:07:19 2016 UTC (8 years, 2 months ago) by pgoyette
Branch: MAIN
CVS Tags: nick-nhusb-base-20160319
Changes since 1.159: +11 -16 lines
Diff to previous 1.159 (colored) to selected 1.98.2.1 (colored)

Fix a couple of checks for kernel vm_space, and convert the 'naked
panic" code to KASSERT/KASSERTMSG.

Thanks,  Taylor!

Revision 1.145.4.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:05 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.3: +23 -40 lines
Diff to previous 1.145.4.3 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.159 / (download) - annotate - [select for diffs], Wed Dec 23 00:13:57 2015 UTC (8 years, 3 months ago) by pgoyette
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226
Changes since 1.158: +5 -16 lines
Diff to previous 1.158 (colored) to selected 1.98.2.1 (colored)

Revert previous

Revision 1.158 / (download) - annotate - [select for diffs], Tue Dec 22 23:54:37 2015 UTC (8 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.157: +16 -5 lines
Diff to previous 1.157 (colored) to selected 1.98.2.1 (colored)

If we attempt to autoload a driver module, make sure we return an error
if it fails.  Otherwise we might end up calling a builtin-but-disabled
driver module and that can generate all sorts of issues...

Revision 1.157 / (download) - annotate - [select for diffs], Tue Dec 8 20:36:15 2015 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.156: +17 -55 lines
Diff to previous 1.156 (colored) to selected 1.98.2.1 (colored)

Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of
pointers.

Revision 1.156 / (download) - annotate - [select for diffs], Tue Dec 8 01:57:13 2015 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.155: +16 -7 lines
Diff to previous 1.155 (colored) to selected 1.98.2.1 (colored)

unfortunately it is not that easy to get rid of DIOCGPART. DTRT for the
raw partition and print a warning if we overflowed. I guess the right solution
for this is to create yet another version of disklabel that is 64 bit friendly.

Revision 1.155 / (download) - annotate - [select for diffs], Sat Dec 5 07:59:34 2015 UTC (8 years, 3 months ago) by jnemeth
Branch: MAIN
Changes since 1.154: +4 -3 lines
Diff to previous 1.154 (colored) to selected 1.98.2.1 (colored)

messing with uninitialized structs is a bad thing

Revision 1.154 / (download) - annotate - [select for diffs], Fri Dec 4 23:54:06 2015 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.153: +21 -10 lines
Diff to previous 1.153 (colored) to selected 1.98.2.1 (colored)

Use DIOCGMEDIASIZE instead of DIOCGPART so that we are not limited to 2G.
XXX: All DIOCGPART code needs to be removed...
XXX: pullup-7

Revision 1.145.4.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:08 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.2: +22 -5 lines
Diff to previous 1.145.4.2 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.153 / (download) - annotate - [select for diffs], Wed Jul 1 08:13:52 2015 UTC (8 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.152: +3 -4 lines
Diff to previous 1.152 (colored) to selected 1.98.2.1 (colored)

Unfortunately MFS uses v_data of its anonymous device vnode so
it cannot be used as vcache key.  Use v_interlock as key ...

Revision 1.152 / (download) - annotate - [select for diffs], Tue Jun 30 06:19:21 2015 UTC (8 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.151: +4 -3 lines
Diff to previous 1.151 (colored) to selected 1.98.2.1 (colored)

Redo previous again, v_specnode is invariant but not unique.

Set "vp->v_data = vp" and use v_data as key.

Revision 1.151 / (download) - annotate - [select for diffs], Mon Jun 29 16:48:20 2015 UTC (8 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.150: +3 -8 lines
Diff to previous 1.150 (colored) to selected 1.98.2.1 (colored)

Use the address of vp->v_specnode as vcache key.  It is invariant
over the lifetime of the vnode.

The previous worked by luck, it took the first sizeof(void *) bytes
of struct vnode as key.

Resolves CID 1308957: wrong sizeof()

Revision 1.150 / (download) - annotate - [select for diffs], Mon Jun 29 16:25:49 2015 UTC (8 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.149: +8 -3 lines
Diff to previous 1.149 (colored) to selected 1.98.2.1 (colored)

Revert previous, and explain why.

Revision 1.149 / (download) - annotate - [select for diffs], Mon Jun 29 15:39:40 2015 UTC (8 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.148: +3 -3 lines
Diff to previous 1.148 (colored) to selected 1.98.2.1 (colored)

CID 1308957: Fix wrong sizeof()

Revision 1.148 / (download) - annotate - [select for diffs], Tue Jun 23 10:42:34 2015 UTC (8 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.147: +22 -5 lines
Diff to previous 1.147 (colored) to selected 1.98.2.1 (colored)

Add a vfs_newvnode() method to deadfs and use it to create
anonymous device vnodes with bdevvp() and cdevvp().

Implement spec_inactive() and spec_reclaim() to handle these nodes.

Revision 1.145.4.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:23 2015 UTC (8 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145.4.1: +9 -9 lines
Diff to previous 1.145.4.1 (colored) to branchpoint 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.147 / (download) - annotate - [select for diffs], Mon Apr 20 13:44:16 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.146: +4 -4 lines
Diff to previous 1.146 (colored) to selected 1.98.2.1 (colored)

Make vget always return vnode unlocked.

Convert callers who want locks to use vn_lock afterward.

Add extra argument so the compiler will report stragglers.

Revision 1.145.4.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:20 2015 UTC (8 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.145: +4 -5 lines
Diff to previous 1.145 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.146 / (download) - annotate - [select for diffs], Sat Mar 28 19:24:06 2015 UTC (9 years ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.145: +4 -5 lines
Diff to previous 1.145 (colored) to selected 1.98.2.1 (colored)

Remove the 'cred' argument from bread(). Remove a now unused var in
ffs_snapshot.c. Update the man page accordingly.

ok hannken@

Revision 1.135.2.3 / (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.135.2.2: +91 -24 lines
Diff to previous 1.135.2.2 (colored) to branchpoint 1.135 (colored) to selected 1.98.2.1 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.143.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:05 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.143: +44 -2 lines
Diff to previous 1.143 (colored) next main 1.144 (colored) to selected 1.98.2.1 (colored)

Rebase.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Jul 25 08:20:53 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1
Branch point for: nick-nhusb, netbsd-7-0, netbsd-7
Changes since 1.144: +4 -2 lines
Diff to previous 1.144 (colored) to selected 1.98.2.1 (colored)

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

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

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

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

Revision 1.144 / (download) - annotate - [select for diffs], Fri Jul 25 08:19:19 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.143: +42 -2 lines
Diff to previous 1.143 (colored) to selected 1.98.2.1 (colored)

Implement spec_fdiscard() using bdev_discard() and cdev_discard().
Also define spec_fallocate() to genfs_eopnotsupp().

Revision 1.134.2.3 / (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.134.2.2: +149 -25 lines
Diff to previous 1.134.2.2 (colored) to branchpoint 1.134 (colored) next main 1.135 (colored) to selected 1.98.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.138.2.2 / (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.138.2.1: +50 -26 lines
Diff to previous 1.138.2.1 (colored) to branchpoint 1.138 (colored) next main 1.139 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.143 / (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, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.142: +20 -23 lines
Diff to previous 1.142 (colored) to selected 1.98.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.142 / (download) - annotate - [select for diffs], Fri Feb 7 15:29:22 2014 UTC (10 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.141: +3 -3 lines
Diff to previous 1.141 (colored) to selected 1.98.2.1 (colored)

Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.

Discussed on tech-kern@

Welcome to 6.99.31

Revision 1.141 / (download) - annotate - [select for diffs], Mon Sep 30 18:58:00 2013 UTC (10 years, 5 months ago) by hannken
Branch: MAIN
Changes since 1.140: +31 -4 lines
Diff to previous 1.140 (colored) to selected 1.98.2.1 (colored)

Replace macro v_specmountpoint with two functions spec_node_getmountedfs()
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.

Welcome to 6.99.24

Discussed on tech-kern@ some time ago.

Reviewed by: David Holland <dholland@netbsd.org>

Revision 1.138.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:35 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.138: +3 -2 lines
Diff to previous 1.138 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.138.4.1 / (download) - annotate - [select for diffs], Tue Jul 23 21:07:37 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.138: +3 -2 lines
Diff to previous 1.138 (colored) next main 1.139 (colored) to selected 1.98.2.1 (colored)

sync with HEAD

Revision 1.140 / (download) - annotate - [select for diffs], Sat Jul 20 23:00:08 2013 UTC (10 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1
Changes since 1.139: +3 -3 lines
Diff to previous 1.139 (colored) to selected 1.98.2.1 (colored)

oops, spell b_bcount properly

Revision 1.139 / (download) - annotate - [select for diffs], Sat Jul 20 22:42:59 2013 UTC (10 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.138: +3 -2 lines
Diff to previous 1.138 (colored) to selected 1.98.2.1 (colored)

In spec_strategy, if fscow_run() fails, set b_resid along with b_error
to avoid panic in biodone. Noticed by riastradh.

Revision 1.135.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:24 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.135.2.1: +18 -2 lines
Diff to previous 1.135.2.1 (colored) to branchpoint 1.135 (colored) to selected 1.98.2.1 (colored)

resync from head

Revision 1.138 / (download) - annotate - [select for diffs], Sun Jun 16 20:46:24 2013 UTC (10 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: riastradh-drm2-base
Branch point for: rmind-smpnet, riastradh-drm2
Changes since 1.137: +18 -2 lines
Diff to previous 1.137 (colored) to selected 1.98.2.1 (colored)

Hang a warning banner on some nasty code I just found.

Revision 1.135.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:59 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.135: +87 -6 lines
Diff to previous 1.135 (colored) to selected 1.98.2.1 (colored)

resync with head

Revision 1.137 / (download) - annotate - [select for diffs], Wed Feb 13 14:03:48 2013 UTC (11 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: khorben-n900, agc-symver-base, agc-symver
Changes since 1.136: +86 -3 lines
Diff to previous 1.136 (colored) to selected 1.98.2.1 (colored)

Make the spec_node table implementation private to spec_vnops.c.

To retrieve a spec_node, two new lookup functions (by device or by mount)
are implemented.  Both return a referenced vnode, for an opened block device
the opened vnode is returned so further diagnostic checks "vp == ... sd_bdevvp"
will not fire.  Otherwise any vnode matching the criteria gets returned.

No objections on tech-kern.

Welcome to 6.99.17

Revision 1.134.2.2 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:24 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.134.2.1: +3 -5 lines
Diff to previous 1.134.2.1 (colored) to branchpoint 1.134 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.136 / (download) - annotate - [select for diffs], Thu Dec 20 08:03:43 2012 UTC (11 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.135: +3 -5 lines
Diff to previous 1.135 (colored) to selected 1.98.2.1 (colored)

Change bread() and breadn() to never return a buffer on
error and modify all callers to not brelse() on error.

Welcome to 6.99.16

PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)

Revision 1.134.6.1 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:37 2012 UTC (11 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.134: +1 -1 lines
Diff to previous 1.134 (colored) next main 1.135 (colored) to selected 1.98.2.1 (colored)

sync to latest -current.

Revision 1.134.2.1 / (download) - annotate - [select for diffs], Wed May 23 10:08:14 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.134: +3 -3 lines
Diff to previous 1.134 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.134.8.1 / (download) - annotate - [select for diffs], Mon May 7 03:01:14 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, 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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: netbsd-6-1, netbsd-6-0
Changes since 1.134: +3 -3 lines
Diff to previous 1.134 (colored) to selected 1.98.2.1 (colored)

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

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

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

Revision 1.133.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:24 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.133: +6 -6 lines
Diff to previous 1.133 (colored) next main 1.134 (colored) to selected 1.98.2.1 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.134 / (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-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.133: +6 -6 lines
Diff to previous 1.133 (colored) to selected 1.98.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.131.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:44 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.131: +4 -4 lines
Diff to previous 1.131 (colored) next main 1.132 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.127.4.4 / (download) - annotate - [select for diffs], Tue May 31 03:05:05 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.127.4.3: +2 -2 lines
Diff to previous 1.127.4.3 (colored) to branchpoint 1.127 (colored) next main 1.128 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.133 / (download) - annotate - [select for diffs], Wed Apr 27 09:46:27 2011 UTC (12 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.132: +3 -3 lines
Diff to previous 1.132 (colored) to selected 1.98.2.1 (colored)

Remove no longer needed flag FSYNC_VFS /* fsync: via FSYNC_VFS() */.

Revision 1.132 / (download) - annotate - [select for diffs], Tue Apr 26 11:32:39 2011 UTC (12 years, 11 months ago) by hannken
Branch: MAIN
Changes since 1.131: +3 -3 lines
Diff to previous 1.131 (colored) to selected 1.98.2.1 (colored)

Change vflushbuf() to return an error if a synchronous write fails.

Welcome to 5.99.51.

Revision 1.127.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:33 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.127.4.2: +2 -6 lines
Diff to previous 1.127.4.2 (colored) to branchpoint 1.127 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.127.2.2 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:36 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.127.2.1: +0 -4 lines
Diff to previous 1.127.2.1 (colored) to branchpoint 1.127 (colored) next main 1.128 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD (-D20101022).

Revision 1.116.2.5 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:35 2010 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.116.2.4: +2 -6 lines
Diff to previous 1.116.2.4 (colored) to branchpoint 1.116 (colored) next main 1.117 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.131 / (download) - annotate - [select for diffs], Sat Aug 21 13:19:40 2010 UTC (13 years, 7 months ago) by pgoyette
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.130: +2 -6 lines
Diff to previous 1.130 (colored) to selected 1.98.2.1 (colored)

Update the rest of the kernel to conform to the module subsystem's new
locking protocol.

Revision 1.127.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:39 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.127: +8 -8 lines
Diff to previous 1.127 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.116.2.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:48 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.116.2.3: +8 -8 lines
Diff to previous 1.116.2.3 (colored) to branchpoint 1.116 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.127.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:58 2010 UTC (13 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.127.4.1: +8 -8 lines
Diff to previous 1.127.4.1 (colored) to branchpoint 1.127 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.130 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:17 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.129: +8 -8 lines
Diff to previous 1.129 (colored) to selected 1.98.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.129 / (download) - annotate - [select for diffs], Tue Apr 13 11:54:43 2010 UTC (13 years, 11 months ago) by ahoka
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.128: +3 -3 lines
Diff to previous 1.128 (colored) to selected 1.98.2.1 (colored)

Revert my last change, it's not The Right Thing [tm].

Revision 1.128 / (download) - annotate - [select for diffs], Tue Apr 13 01:15:56 2010 UTC (13 years, 11 months ago) by ahoka
Branch: MAIN
Changes since 1.127: +3 -3 lines
Diff to previous 1.127 (colored) to selected 1.98.2.1 (colored)

Autoload modules with any class.

This fixes autoloading of pf, zfs and possibly others.

Revision 1.127.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:12 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.127: +6 -6 lines
Diff to previous 1.127 (colored) to selected 1.98.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.116.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:23 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.116.2.2: +55 -2 lines
Diff to previous 1.116.2.2 (colored) to branchpoint 1.116 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.127 / (download) - annotate - [select for diffs], Sat Nov 14 18:36:57 2009 UTC (14 years, 4 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.126: +30 -2 lines
Diff to previous 1.126 (colored) to selected 1.98.2.1 (colored)

- Move kauth_init() a little bit higher.

- Add spec_init() to authorize special device actions (and passthru too for
  the time being). Move policy out of secmodel_suser.

Revision 1.126 / (download) - annotate - [select for diffs], Tue Oct 6 04:28:10 2009 UTC (14 years, 5 months ago) by elad
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.125: +9 -2 lines
Diff to previous 1.125 (colored) to selected 1.98.2.1 (colored)

Factor out a block of code that appears in three places (Veriexec, keylock,
and securelevel) so that others can use it as well.

Revision 1.125 / (download) - annotate - [select for diffs], Sun Oct 4 06:23:58 2009 UTC (14 years, 5 months ago) by tsutsui
Branch: MAIN
Changes since 1.124: +20 -2 lines
Diff to previous 1.124 (colored) to selected 1.98.2.1 (colored)

Put workaround fix for LOCKDEBUG panic mentioned in PR kern/41078:
 Don't try to load a driver module if the driver is already exist but just
 not attached. [bc]dev_open() could return ENXIO even if the driver exists.

XXX: Maybe this should be handled by helper functions for
XXX: module_autoload() calls on demand.

Revision 1.122.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:22:17 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.122: +4 -7 lines
Diff to previous 1.122 (colored) next main 1.123 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

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

Revision 1.116.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:05 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.116.2.1: +70 -34 lines
Diff to previous 1.116.2.1 (colored) to branchpoint 1.116 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.119.6.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:15 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.119.6.2: +4 -4 lines
Diff to previous 1.119.6.2 (colored) to branchpoint 1.119 (colored) next main 1.120 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.124 / (download) - annotate - [select for diffs], Sat Apr 25 15:06:32 2009 UTC (14 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.123: +4 -4 lines
Diff to previous 1.123 (colored) to selected 1.98.2.1 (colored)

- Rearrange pg_delete() and pg_remove() (renamed pg_free), thus
  proc_enterpgrp() with proc_leavepgrp() to free process group and/or
  session without proc_lock held.
- Rename SESSHOLD() and SESSRELE() to  to proc_sesshold() and
  proc_sessrele().  The later releases proc_lock now.

Quick OK by <ad>.

Revision 1.119.6.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:33:36 2009 UTC (15 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.119.6.1: +44 -8 lines
Diff to previous 1.119.6.1 (colored) to branchpoint 1.119 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.123 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:06 2009 UTC (15 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.122: +2 -5 lines
Diff to previous 1.122 (colored) to selected 1.98.2.1 (colored)

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

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

Revision 1.122 / (download) - annotate - [select for diffs], Mon Feb 2 14:00:27 2009 UTC (15 years, 1 month ago) by haad
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.121: +44 -5 lines
Diff to previous 1.121 (colored) to selected 1.98.2.1 (colored)

Add support for loading pseudo-device drivers. Try to autoload modules from
specs_open routine. If devsw_open fail, get driver name with devsw_getname
routine and autoload module.

For now only dm drivervcan be loaded, other pseudo drivers needs more work.

Ok by ad@.

Revision 1.119.6.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:07 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.119: +23 -24 lines
Diff to previous 1.119 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.115.6.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:28 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.115.6.1: +21 -22 lines
Diff to previous 1.115.6.1 (colored) to branchpoint 1.115 (colored) next main 1.116 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.121 / (download) - annotate - [select for diffs], Sun Jan 11 02:45:54 2009 UTC (15 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.120: +4 -4 lines
Diff to previous 1.120 (colored) to selected 1.98.2.1 (colored)

merge christos-time_t

Revision 1.119.10.3 / (download) - annotate - [select for diffs], Tue Dec 30 18:50:25 2008 UTC (15 years, 3 months ago) by christos
Branch: christos-time_t
Changes since 1.119.10.2: +21 -22 lines
Diff to previous 1.119.10.2 (colored) to branchpoint 1.119 (colored) next main 1.120 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.120 / (download) - annotate - [select for diffs], Mon Dec 29 17:41:19 2008 UTC (15 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: christos-time_t-nbase, christos-time_t-base
Changes since 1.119: +21 -22 lines
Diff to previous 1.119 (colored) to selected 1.98.2.1 (colored)

Rename specfs_lock as device_lock and move it from specfs to devsw.
Relaxes kernel dependency on vfs.

Revision 1.119.10.2 / (download) - annotate - [select for diffs], Sun Nov 9 02:05:20 2008 UTC (15 years, 4 months ago) by christos
Branch: christos-time_t
Changes since 1.119.10.1: +1064 -0 lines
Diff to previous 1.119.10.1 (colored) to branchpoint 1.119 (colored) to selected 1.98.2.1 (colored)

account for major and minor being unsigned long long

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:57 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.118: +5 -4 lines
Diff to previous 1.118 (colored) next main 1.119 (colored) to selected 1.98.2.1 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.115.6.1 / (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.115: +16 -15 lines
Diff to previous 1.115 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.115.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:26 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.115: +16 -15 lines
Diff to previous 1.115 (colored) next main 1.116 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.119.10.1, Fri May 16 09:22:00 2008 UTC (15 years, 10 months ago) by christos
Branch: christos-time_t
Changes since 1.119: +0 -1064 lines
FILE REMOVED

file spec_vnops.c was added on branch christos-time_t on 2008-11-09 02:05:20 +0000

Revision 1.119 / (download) - annotate - [select for diffs], Fri May 16 09:22:00 2008 UTC (15 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, 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-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, 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, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, 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, christos-time_t
Changes since 1.118: +5 -4 lines
Diff to previous 1.118 (colored) to selected 1.98.2.1 (colored)

Make sure all cached buffers with valid, not yet written data have been
run through copy-on-write.  Call fscow_run() with valid data where possible.

The LP_UFSCOW hack is no longer needed to protect ffs_copyonwrite() against
endless recursion.

- Add a flag B_MODIFY to bread(), breada() and breadn().  If set the caller
  intends to modify the buffer returned.

- Always run copy-on-write on buffers returned from ffs_balloc().

- Add new function ffs_getblk() that gets a buffer, assigns a new blkno,
  may clear the buffer and runs copy-on-write.  Process possible errors
  from getblk() or fscow_run().  Part of PR kern/38664.

Welcome to 4.99.63

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

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

sync with head.

Revision 1.118 / (download) - annotate - [select for diffs], Tue Apr 29 18:18:09 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base2
Branch point for: wrstuden-revivesa
Changes since 1.117: +9 -2 lines
Diff to previous 1.117 (colored) to selected 1.98.2.1 (colored)

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

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

Revision 1.117 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:08 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
Changes since 1.116: +2 -9 lines
Diff to previous 1.116 (colored) to selected 1.98.2.1 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.116 / (download) - annotate - [select for diffs], Thu Apr 24 15:35:30 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.115: +6 -6 lines
Diff to previous 1.115 (colored) to selected 1.98.2.1 (colored)

Network protocol interrupts can now block on locks, so merge the globals
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:

- Inspecting process state requires thread context, so signals can no longer
  be sent from a hardware interrupt handler. Signal activity must be
  deferred to a soft interrupt or kthread.

- As the proc state locking is simplified, it's now safe to take exit()
  and wait() out from under kernel_lock.

- The system spends less time at IPL_SCHED, and there is less lock activity.

Revision 1.104.4.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:04 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.104.4.2: +319 -64 lines
Diff to previous 1.104.4.2 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored) to selected 1.98.2.1 (colored)

sync with HEAD

Revision 1.108.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.108.4.1: +323 -68 lines
Diff to previous 1.108.4.1 (colored) to branchpoint 1.108 (colored) next main 1.109 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.81.2.7 / (download) - annotate - [select for diffs], Mon Feb 4 09:24:35 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.81.2.6: +319 -64 lines
Diff to previous 1.81.2.6 (colored) next main 1.82 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.115 / (download) - annotate - [select for diffs], Fri Jan 25 16:21:04 2008 UTC (16 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, mjf-devfs2
Changes since 1.114: +5 -2 lines
Diff to previous 1.114 (colored) to selected 1.98.2.1 (colored)

Spec_open(): clear sd_bdevvp if bdev_open() failed.

Ok: Andrew Doran <ad@netbsd.org>

Revision 1.114 / (download) - annotate - [select for diffs], Fri Jan 25 14:32:16 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.113: +2 -3 lines
Diff to previous 1.113 (colored) to selected 1.98.2.1 (colored)

Remove VOP_LEASE. Discussed on tech-kern.

Revision 1.113 / (download) - annotate - [select for diffs], Thu Jan 24 21:05:52 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.112: +2 -3 lines
Diff to previous 1.112 (colored) to selected 1.98.2.1 (colored)

spec_fsync: don't assert that 'vp' holds the block device open. If it's
not open, there shouldn't be dirty buffers so vinvalbuf() is harmless.

Revision 1.112 / (download) - annotate - [select for diffs], Thu Jan 24 17:32:55 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.111: +317 -63 lines
Diff to previous 1.111 (colored) to selected 1.98.2.1 (colored)

specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.

Revision 1.81.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:57 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.81.2.5: +6 -6 lines
Diff to previous 1.81.2.5 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.104.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:57:06 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.104.4.1: +16 -22 lines
Diff to previous 1.104.4.1 (colored) to branchpoint 1.104 (colored) to selected 1.98.2.1 (colored)

sync with HEAD

Revision 1.110.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:56:57 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.110: +6 -6 lines
Diff to previous 1.110 (colored) next main 1.111 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

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

Merge vmlocking2 to head.

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

Sync with HEAD.

Revision 1.81.2.5 / (download) - annotate - [select for diffs], Fri Dec 7 17:34:11 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.81.2.4: +12 -18 lines
Diff to previous 1.81.2.4 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.110.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:29 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.110: +6 -6 lines
Diff to previous 1.110 (colored) next main 1.111 (colored) to selected 1.98.2.1 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.104.2.5 / (download) - annotate - [select for diffs], Mon Dec 3 16:15:05 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.104.2.4: +3 -3 lines
Diff to previous 1.104.2.4 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.110 / (download) - annotate - [select for diffs], Sun Dec 2 13:56:18 2007 UTC (16 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.109: +3 -3 lines
Diff to previous 1.109 (colored) to selected 1.98.2.1 (colored)

Fscow_run(): add a flag "bool data_valid" to note still valid data.
Buffers run through copy-on-write are marked B_COWDONE.  This condition
is valid until the buffer has run through bwrite() and gets cleared from
biodone().

Welcome to 4.99.39.

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

Revision 1.104.2.4 / (download) - annotate - [select for diffs], Tue Nov 27 19:38:53 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.104.2.3: +11 -17 lines
Diff to previous 1.104.2.3 (colored) to branchpoint 1.104 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.109 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:17 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.108: +11 -17 lines
Diff to previous 1.108 (colored) to selected 1.98.2.1 (colored)

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

quick consensus on tech-kern

Revision 1.104.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:33:23 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.104: +22 -46 lines
Diff to previous 1.104 (colored) to selected 1.98.2.1 (colored)

sync with HEAD

Revision 1.81.2.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:57 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.81.2.3: +20 -44 lines
Diff to previous 1.81.2.3 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.104.2.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:57 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.104.2.2: +20 -44 lines
Diff to previous 1.104.2.2 (colored) to branchpoint 1.104 (colored) to selected 1.98.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.105.2.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:56 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.105: +20 -44 lines
Diff to previous 1.105 (colored) next main 1.106 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.108 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:30 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.107: +11 -11 lines
Diff to previous 1.107 (colored) to selected 1.98.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.98.2.12 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:24 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.11: +7 -25 lines
Diff to previous 1.98.2.11 (colored) to branchpoint 1.98 (colored) next main 1.99 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.98.2.11 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:37 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.10: +3 -2 lines
Diff to previous 1.98.2.10 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.107 / (download) - annotate - [select for diffs], Mon Oct 8 18:04:05 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.106: +7 -14 lines
Diff to previous 1.106 (colored) to selected 1.98.2.1 (colored)

Merge brelse() changes from the vmlocking branch.

Revision 1.106 / (download) - annotate - [select for diffs], Sun Oct 7 13:39:04 2007 UTC (16 years, 5 months ago) by hannken
Branch: MAIN
Changes since 1.105: +6 -23 lines
Diff to previous 1.105 (colored) to selected 1.98.2.1 (colored)

Update the file system copy-on-write handler.

- Instead of hooking the handler on the specdev of a mounted file system
  hook directly on the `struct mount'.

- Rename from `vn_cow_*' to `fscow_*' and move to `kern/vfs_trans.c'.  Use
  `mount_*specific' instead of clobbering `struct mount' or `struct specinfo'.

- Replace the hand-made reader/writer lock with a krwlock.

- Keep `vn_cow_*' functions and mark as obsolete.

- Welcome to NetBSD 4.99.32 - `struct specinfo' changed size.

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

Revision 1.104.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 16:48:52 2007 UTC (16 years, 6 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.104.2.1: +838 -0 lines
Diff to previous 1.104.2.1 (colored) to branchpoint 1.104 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

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

sync with head.

Revision 1.100.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:06 2007 UTC (16 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.100.2.1: +4 -4 lines
Diff to previous 1.100.2.1 (colored) to branchpoint 1.100 (colored) next main 1.101 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.105 / (download) - annotate - [select for diffs], Sat Sep 1 23:40:25 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.104: +4 -4 lines
Diff to previous 1.104 (colored) to selected 1.98.2.1 (colored)

Make bioops a pointer and point it to the softdeps struct in softdep
init.  Decouples "options SOFTDEP" from the main kernel and ffs code.

Revision 1.98.2.10 / (download) - annotate - [select for diffs], Fri Aug 24 21:28:36 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.9: +2 -8 lines
Diff to previous 1.98.2.9 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

Remove the only (and insane) reference to B_TAPE that came long with 386BSD.

Revision 1.98.2.9 / (download) - annotate - [select for diffs], Mon Aug 20 21:27:51 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.8: +38 -32 lines
Diff to previous 1.98.2.8 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.98.2.8 / (download) - annotate - [select for diffs], Mon Aug 20 03:22:43 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.7: +4 -5 lines
Diff to previous 1.98.2.7 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

softdep locking improvements. It hangs looping in flush_inodedep_deps(),
more work required.

Revision 1.98.2.7 / (download) - annotate - [select for diffs], Sun Aug 19 19:24:57 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.6: +6 -5 lines
Diff to previous 1.98.2.6 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.100.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:37 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.100: +39 -34 lines
Diff to previous 1.100 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.104.6.2 / (download) - annotate - [select for diffs], Fri Aug 3 08:45:37 2007 UTC (16 years, 7 months ago) by pooka
Branch: matt-mips64
Changes since 1.104.6.1: +838 -0 lines
Diff to previous 1.104.6.1 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored) to selected 1.98.2.1 (colored)

ANSI-fy

Revision 1.104.6.1, Fri Aug 3 08:45:36 2007 UTC (16 years, 7 months ago) by pooka
Branch: matt-mips64
Changes since 1.104: +0 -838 lines
FILE REMOVED

file spec_vnops.c was added on branch matt-mips64 on 2007-08-03 08:45:37 +0000

Revision 1.104.2.1, Fri Aug 3 08:45:36 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.104: +0 -838 lines
FILE REMOVED

file spec_vnops.c was added on branch jmcneill-pm on 2007-09-03 16:48:52 +0000

Revision 1.104 / (download) - annotate - [select for diffs], Fri Aug 3 08:45:36 2007 UTC (16 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base
Branch point for: matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.103: +18 -34 lines
Diff to previous 1.103 (colored) to selected 1.98.2.1 (colored)

ANSI-fy

Revision 1.103 / (download) - annotate - [select for diffs], Sun Jul 29 13:31:11 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: hpcarm-cleanup
Changes since 1.102: +3 -4 lines
Diff to previous 1.102 (colored) to selected 1.98.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.102 / (download) - annotate - [select for diffs], Fri Jul 27 08:32:44 2007 UTC (16 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.101: +3 -3 lines
Diff to previous 1.101 (colored) to selected 1.98.2.1 (colored)

vop_mmap parameter change

Revision 1.101 / (download) - annotate - [select for diffs], Sun Jul 22 19:16:05 2007 UTC (16 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.100: +24 -2 lines
Diff to previous 1.100 (colored) to selected 1.98.2.1 (colored)

Retire uvn_attach() - it abuses VXLOCK and its functionality,
setting vnode sizes, is handled elsewhere: file system vnode creation
or spec_open() for regular files or block special files, respectively.

Add a call to VOP_MMAP() to the pagedvn exec path, since the vnode
is being memory mapped.

reviewed by tech-kern & wrstuden

Revision 1.98.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:10:46 2007 UTC (16 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.98: +40 -91 lines
Diff to previous 1.98 (colored) next main 1.99 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.100 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:59 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.99: +38 -90 lines
Diff to previous 1.99 (colored) to selected 1.98.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.98.2.6 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:46 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.5: +12 -12 lines
Diff to previous 1.98.2.5 (colored) to branchpoint 1.98 (colored) to selected 1.98.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.98.2.5 / (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.98.2.4: +4 -3 lines
Diff to previous 1.98.2.4 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.99 / (download) - annotate - [select for diffs], Tue Jun 5 12:31:32 2007 UTC (16 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.98: +4 -3 lines
Diff to previous 1.98 (colored) to selected 1.98.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.98.2.4 / (download) - annotate - [select for diffs], Sun May 13 17:36:37 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.3: +7 -9 lines
Diff to previous 1.98.2.3 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.98.2.3 / (download) - annotate - [select for diffs], Fri Apr 13 20:56:18 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.2: +26 -85 lines
Diff to previous 1.98.2.2 (colored) to branchpoint 1.98 (colored) to selected 1.98.2.1 (colored)

- Make the devsw interface MP safe, and add some comments.
- Allow individual block/character drivers to be marked MP safe.
- Provide wrappers around the device methods that look up the
  device, returning ENXIO if it's not found, and acquire the
  kernel lock if needed.

Revision 1.98.2.2 / (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.98.2.1: +12 -5 lines
Diff to previous 1.98.2.1 (colored) to branchpoint 1.98 (colored)

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

Revision 1.98.2.1 / (download) - annotate - [selected], Tue Mar 13 17:51:10 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.98: +13 -13 lines
Diff to previous 1.98 (colored)

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

Revision 1.97.4.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:09 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.97: +6 -6 lines
Diff to previous 1.97 (colored) next main 1.98 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

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

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

Revision 1.88.2.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.88.2.1: +2 -37 lines
Diff to previous 1.88.2.1 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored) to selected 1.98.2.1 (colored)

Sync with head.

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

sync with head.

Revision 1.89.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.89.2.1: +16 -73 lines
Diff to previous 1.89.2.1 (colored) to branchpoint 1.89 (colored) next main 1.90 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.97 / (download) - annotate - [select for diffs], Sun Nov 26 20:27:27 2006 UTC (17 years, 4 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Changes since 1.96: +2 -37 lines
Diff to previous 1.96 (colored) to selected 1.98.2.1 (colored)

Implement Veriexec's raw disk policy on-top of kauth(9)'s device scope,
using both the rawio_spec and passthru actions to detect raw disk
activity. Same for kernel memory policy.

Update documentation (no longer need to expose veriexec_rawchk()) and
remove all Veriexec-related bits from specfs.

Revision 1.88.2.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:29 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.88: +61 -48 lines
Diff to previous 1.88 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.80.2.1.4.1 / (download) - annotate - [select for diffs], Sat Nov 11 21:02:02 2006 UTC (17 years, 4 months ago) by bouyer
Branch: netbsd-3-1
CVS Tags: netbsd-3-1-1-RELEASE
Changes since 1.80.2.1: +20 -4 lines
Diff to previous 1.80.2.1 (colored) next main 1.80.2.2 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by jld in ticket #1557):
	sys/miscfs/specfs/spec_vnops.c: revision 1.91 via patch
Protect spec_poll from racing against revocation and thus dereferencing a
NULL v_specinfo.  Mostly copied (with understanding) from rev 1.83's fix
to spec_ioctl, and needed for the same reason (kern/vfs_subr.c r1.231).

Revision 1.80.2.1.2.1 / (download) - annotate - [select for diffs], Sat Nov 11 21:01:52 2006 UTC (17 years, 4 months ago) by bouyer
Branch: netbsd-3-0
CVS Tags: netbsd-3-0-3-RELEASE
Changes since 1.80.2.1: +20 -4 lines
Diff to previous 1.80.2.1 (colored) next main 1.80.2.2 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by jld in ticket #1557):
	sys/miscfs/specfs/spec_vnops.c: revision 1.91 via patch
Protect spec_poll from racing against revocation and thus dereferencing a
NULL v_specinfo.  Mostly copied (with understanding) from rev 1.83's fix
to spec_ioctl, and needed for the same reason (kern/vfs_subr.c r1.231).

Revision 1.80.2.2 / (download) - annotate - [select for diffs], Sat Nov 11 21:01:43 2006 UTC (17 years, 4 months ago) by bouyer
Branch: netbsd-3
Changes since 1.80.2.1: +20 -4 lines
Diff to previous 1.80.2.1 (colored) to branchpoint 1.80 (colored) next main 1.81 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by jld in ticket #1557):
	sys/miscfs/specfs/spec_vnops.c: revision 1.91 via patch
Protect spec_poll from racing against revocation and thus dereferencing a
NULL v_specinfo.  Mostly copied (with understanding) from rev 1.83's fix
to spec_ioctl, and needed for the same reason (kern/vfs_subr.c r1.231).

Revision 1.96 / (download) - annotate - [select for diffs], Sat Nov 4 09:30:00 2006 UTC (17 years, 4 months ago) by elad
Branch: MAIN
Changes since 1.95: +30 -59 lines
Diff to previous 1.95 (colored) to selected 1.98.2.1 (colored)

Change KAUTH_SYSTEM_RAWIO to KAUTH_DEVICE_RAWIO_SPEC (moving the raw i/o
requests to the device scope) and add KAUTH_DEVICE_RAWIO_PASSTHRU.

Expose iskmemdev() through sys/conf.h.

okay yamt@

Revision 1.95 / (download) - annotate - [select for diffs], Thu Nov 2 12:48:35 2006 UTC (17 years, 4 months ago) by elad
Branch: MAIN
Changes since 1.94: +18 -16 lines
Diff to previous 1.94 (colored) to selected 1.98.2.1 (colored)

Redo Veriexec raw disk/memory access policies so they hold only if the
request is for write access.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Nov 1 09:37:28 2006 UTC (17 years, 5 months ago) by elad
Branch: MAIN
Changes since 1.93: +23 -17 lines
Diff to previous 1.93 (colored) to selected 1.98.2.1 (colored)

Only use blkdev/bvp for the Veriexec case. While here, fix up IPS mode
restrictions on kernel memory.

okay yamt@

Revision 1.93 / (download) - annotate - [select for diffs], Mon Oct 30 12:19:23 2006 UTC (17 years, 5 months ago) by elad
Branch: MAIN
Changes since 1.92: +2 -3 lines
Diff to previous 1.92 (colored) to selected 1.98.2.1 (colored)

oops, remove debug printf slipped in. good catch from yamt@, thanks!

Revision 1.89.2.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:24 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.89: +23 -4 lines
Diff to previous 1.89 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.92 / (download) - annotate - [select for diffs], Sat Sep 30 21:00:13 2006 UTC (17 years, 6 months ago) by jld
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.91: +3 -3 lines
Diff to previous 1.91 (colored) to selected 1.98.2.1 (colored)

The poll routine needs to return POLLERR on error, not an errno.  Sorry
about that.  Pointed out by Juergen Hannken-Illjes in mail.

Revision 1.91 / (download) - annotate - [select for diffs], Thu Sep 21 09:28:37 2006 UTC (17 years, 6 months ago) by jld
Branch: MAIN
Changes since 1.90: +20 -4 lines
Diff to previous 1.90 (colored) to selected 1.98.2.1 (colored)

Protect spec_poll from racing against revocation and thus dereferencing a
NULL v_specinfo.  Mostly copied (with understanding) from rev 1.83's fix
to spec_ioctl, and needed for the same reason (kern/vfs_subr.c r1.231).

Revision 1.90 / (download) - annotate - [select for diffs], Tue Sep 19 16:41:57 2006 UTC (17 years, 6 months ago) by elad
Branch: MAIN
Changes since 1.89: +5 -2 lines
Diff to previous 1.89 (colored) to selected 1.98.2.1 (colored)

For the VBLK case, we always check vfs_mountedon() and it has nothing
to do with the security model used. Move back the call to spec_open(),
which can now return the real return value from vfs_mountedon() (EBUSY)
and not EPERM, changing semantics.

Revision 1.86.2.3 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:54 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.86.2.2: +47 -31 lines
Diff to previous 1.86.2.2 (colored) to branchpoint 1.86 (colored) next main 1.87 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.85.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:58:00 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.85: +39 -12 lines
Diff to previous 1.85 (colored) next main 1.86 (colored) to selected 1.98.2.1 (colored)

sync with head

Revision 1.89 / (download) - annotate - [select for diffs], Fri Sep 8 20:58:57 2006 UTC (17 years, 6 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9
Branch point for: yamt-splraiseipl
Changes since 1.88: +47 -31 lines
Diff to previous 1.88 (colored) to selected 1.98.2.1 (colored)

First take at security model abstraction.

- Add a few scopes to the kernel: system, network, and machdep.

- Add a few more actions/sub-actions (requests), and start using them as
  opposed to the KAUTH_GENERIC_ISSUSER place-holders.

- Introduce a basic set of listeners that implement our "traditional"
  security model, called "bsd44". This is the default (and only) model we
  have at the moment.

- Update all relevant documentation.

- Add some code and docs to help folks who want to actually use this stuff:

  * There's a sample overlay model, sitting on-top of "bsd44", for
    fast experimenting with tweaking just a subset of an existing model.

    This is pretty cool because it's *really* straightforward to do stuff
    you had to use ugly hacks for until now...

  * And of course, documentation describing how to do the above for quick
    reference, including code samples.

All of these changes were tested for regressions using a Python-based
testsuite that will be (I hope) available soon via pkgsrc. Information
about the tests, and how to write new ones, can be found on:

	http://kauth.linbsd.org/kauthwiki

NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the
following:

  - Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,
  - Checks 'securelevel' directly,
  - Checks a uid/gid directly.

(or if you feel you have to, contact me first)

This is still work in progress; It's far from being done, but now it'll
be a lot easier.

Relevant mailing list threads:

http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html
http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html
http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html
http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html

Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help
stablizing kauth(9).

Full credit for the regression tests, making sure these changes didn't break
anything, goes to Matt Fleming and Jaime Fournier.

Happy birthday Randi! :)

Revision 1.86.2.2 / (download) - annotate - [select for diffs], Sun Sep 3 15:25:35 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.86.2.1: +26 -2 lines
Diff to previous 1.86.2.1 (colored) to branchpoint 1.86 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.87.6.1 / (download) - annotate - [select for diffs], Mon Aug 14 13:29:54 2006 UTC (17 years, 7 months ago) by tron
Branch: abandoned-netbsd-4
Changes since 1.87: +24 -0 lines
Diff to previous 1.87 (colored) next main 1.88 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by elad in ticket #15):
	sys/miscfs/specfs/spec_vnops.c: revision 1.88
	share/man/man9/fileassoc.9: revision 1.7
	sys/kern/kern_verifiedexec.c: revision 1.66
	sys/sys/verified_exec.h: revision 1.39
	sys/sys/fileassoc.h: revision 1.3
	lib/libc/gen/sysctl.3: revision 1.178
	share/man/man9/veriexec.9: revision 1.4
	sys/kern/kern_fileassoc.c: revision 1.6
Pretending to be Elad's keyboard:
fileassoc.diff adds a fileassoc_table_run() routine that allows you to
pass a callback to be called with every entry on a given mount.
veriexec.diff adds some raw device access policies: if raw disk is
opened at strict level 1, all fingerprints on this disk will be
invalidated as a safety measure. level 2 will not allow opening disk
for raw writing if we monitor it, and prevent raw writes to memory.
level 3 will not allow opening any disk for raw writing.
both update all relevant documentation.
veriexec concept is okay blymn@.

Revision 1.88 / (download) - annotate - [select for diffs], Fri Aug 11 19:17:47 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base
Branch point for: newlock2
Changes since 1.87: +26 -2 lines
Diff to previous 1.87 (colored) to selected 1.98.2.1 (colored)

Pretending to be Elad's keyboard:

fileassoc.diff adds a fileassoc_table_run() routine that allows you to
pass a callback to be called with every entry on a given mount.

veriexec.diff adds some raw device access policies: if raw disk is
opened at strict level 1, all fingerprints on this disk will be
invalidated as a safety measure. level 2 will not allow opening disk
for raw writing if we monitor it, and prevent raw writes to memory.
level 3 will not allow opening any disk for raw writing.

both update all relevant documentation.

veriexec concept is okay blymn@.

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

sync with head.

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

Sync with head.

Revision 1.86.6.1 / (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.86: +9 -8 lines
Diff to previous 1.86 (colored) next main 1.87 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.86.2.1 / (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.86: +9 -8 lines
Diff to previous 1.86 (colored) to selected 1.98.2.1 (colored)

sync with head.

Revision 1.87 / (download) - annotate - [select for diffs], Sun May 14 21:32:21 2006 UTC (17 years, 10 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base
Branch point for: abandoned-netbsd-4
Changes since 1.86: +9 -8 lines
Diff to previous 1.86 (colored) to selected 1.98.2.1 (colored)

integrate kauth.

Revision 1.86.4.2 / (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.86.4.1: +3 -2 lines
Diff to previous 1.86.4.1 (colored) to branchpoint 1.86 (colored) next main 1.87 (colored) to selected 1.98.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.85.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:06 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.85: +8 -6 lines
Diff to previous 1.85 (colored) to selected 1.98.2.1 (colored)

Sync with head.

Revision 1.86.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.86: +8 -8 lines
Diff to previous 1.86 (colored) to selected 1.98.2.1 (colored)

Adapt to kernel authorization KPI.

Revision 1.86 / (download) - annotate - [select for diffs], Wed Mar 1 12:38:32 2006 UTC (18 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base
Branch point for: yamt-pdpolicy, peter-altq, elad-kernelauth
Changes since 1.85: +8 -6 lines
Diff to previous 1.85 (colored) to selected 1.98.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.85.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.85: +8 -6 lines
Diff to previous 1.85 (colored) next main 1.86 (colored) to selected 1.98.2.1 (colored)

adapt some random parts of kernel to uio_vmspace.

Revision 1.77.4.1 / (download) - annotate - [select for diffs], Thu Dec 29 01:36:30 2005 UTC (18 years, 3 months ago) by riz
Branch: netbsd-2
Changes since 1.77: +21 -4 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by chs in ticket #10207):
	sys/miscfs/specfs/spec_vnops.c: revision 1.83
in spec_ioctl(), don't dereference v_specinfo if it's NULL.
this is needed due to rev. 1.231 of kern/vfs_subr.c, which now sets
v_specinfo to NULL before changing the vnode's ops vector.

Revision 1.77.6.1 / (download) - annotate - [select for diffs], Thu Dec 29 01:36:19 2005 UTC (18 years, 3 months ago) by riz
Branch: netbsd-2-1
Changes since 1.77: +21 -4 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by chs in ticket #10207):
	sys/miscfs/specfs/spec_vnops.c: revision 1.83
in spec_ioctl(), don't dereference v_specinfo if it's NULL.
this is needed due to rev. 1.231 of kern/vfs_subr.c, which now sets
v_specinfo to NULL before changing the vnode's ops vector.

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Thu Dec 29 01:36:09 2005 UTC (18 years, 3 months ago) by riz
Branch: netbsd-2-0
Changes since 1.77: +21 -4 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by chs in ticket #10207):
	sys/miscfs/specfs/spec_vnops.c: revision 1.83
in spec_ioctl(), don't dereference v_specinfo if it's NULL.
this is needed due to rev. 1.231 of kern/vfs_subr.c, which now sets
v_specinfo to NULL before changing the vnode's ops vector.

Revision 1.85 / (download) - annotate - [select for diffs], Sun Dec 11 12:24:51 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5
Branch point for: yamt-uio_vmspace, simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.84: +27 -27 lines
Diff to previous 1.84 (colored) to selected 1.98.2.1 (colored)

merge ktrace-lwp.

Revision 1.68.2.6 / (download) - annotate - [select for diffs], Thu Nov 10 14:10:32 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.5: +25 -12 lines
Diff to previous 1.68.2.5 (colored) next main 1.69 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD. Here we go again...

Revision 1.84 / (download) - annotate - [select for diffs], Wed Nov 2 12:38:59 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Changes since 1.83: +2 -7 lines
Diff to previous 1.83 (colored) to selected 1.98.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.83.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 05:02:38 2005 UTC (18 years, 5 months ago) by yamt
Branch: yamt-vop
Changes since 1.83: +2 -7 lines
Diff to previous 1.83 (colored) next main 1.84 (colored) to selected 1.98.2.1 (colored)

adapt specfs and fifofs.

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Mon Sep 26 20:22:55 2005 UTC (18 years, 6 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-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-2-RELEASE, netbsd-3-0-1-RELEASE
Branch point for: netbsd-3-1, netbsd-3-0
Changes since 1.80: +21 -4 lines
Diff to previous 1.80 (colored) to selected 1.98.2.1 (colored)

Pull up following revision(s) (requested by chs in ticket #812):
	sys/miscfs/specfs/spec_vnops.c: revision 1.83
in spec_ioctl(), don't dereference v_specinfo if it's NULL.
this is needed due to rev. 1.231 of kern/vfs_subr.c, which now sets
v_specinfo to NULL before changing the vnode's ops vector.

Revision 1.83 / (download) - annotate - [select for diffs], Sun Sep 11 14:18:54 2005 UTC (18 years, 6 months ago) by chs
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.82: +21 -4 lines
Diff to previous 1.82 (colored) to selected 1.98.2.1 (colored)

in spec_ioctl(), don't dereference v_specinfo if it's NULL.
this is needed due to rev. 1.231 of kern/vfs_subr.c, which now sets
v_specinfo to NULL before changing the vnode's ops vector.

Revision 1.82 / (download) - annotate - [select for diffs], Tue Aug 30 20:08:01 2005 UTC (18 years, 7 months ago) by xtraeme
Branch: MAIN
Changes since 1.81: +4 -4 lines
Diff to previous 1.81 (colored) to selected 1.98.2.1 (colored)

Remove __P()

Revision 1.81 / (download) - annotate - [select for diffs], Tue Jun 21 14:01:13 2005 UTC (18 years, 9 months ago) by ws
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.80: +4 -3 lines
Diff to previous 1.80 (colored) to selected 1.98.2.1 (colored)

PR-30566: Poll must not return <sys/errno.h> values.
Start with those places I can easily test.

Revision 1.79.4.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.79: +3 -3 lines
Diff to previous 1.79 (colored) next main 1.80 (colored) to selected 1.98.2.1 (colored)

sync with -current

Revision 1.79.6.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:31 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored) next main 1.80 (colored) to selected 1.98.2.1 (colored)

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

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

Sync with HEAD.

Hi Perry!

Revision 1.80 / (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.79: +3 -3 lines
Diff to previous 1.79 (colored) to selected 1.98.2.1 (colored)

nuke trailing whitespace

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

Fix the sync with head I botched.

Revision 1.68.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.68.2.2: +27 -27 lines
Diff to previous 1.68.2.2 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.68.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:54:09 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.1: +73 -34 lines
Diff to previous 1.68.2.1 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.79 / (download) - annotate - [select for diffs], Tue May 25 14:54:57 2004 UTC (19 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.78: +15 -5 lines
Diff to previous 1.78 (colored) to selected 1.98.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.78 / (download) - annotate - [select for diffs], Wed May 12 02:07:38 2004 UTC (19 years, 10 months ago) by jrf
Branch: MAIN
Changes since 1.77: +4 -4 lines
Diff to previous 1.77 (colored) to selected 1.98.2.1 (colored)

caddr_t -> void * and removal of some more casts.

Revision 1.77 / (download) - annotate - [select for diffs], Sat Feb 14 00:00:56 2004 UTC (20 years, 1 month 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-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
Branch point for: netbsd-2-1, netbsd-2-0, netbsd-2
Changes since 1.76: +23 -11 lines
Diff to previous 1.76 (colored) to selected 1.98.2.1 (colored)

Add a generic copy-on-write hook to add/remove functions that will be
called with every buffer written through spec_strategy().

Used by fss(4). Future file-system-internal snapshots will need them too.

Welcome to 1.6ZK

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

Revision 1.76 / (download) - annotate - [select for diffs], Sun Jan 25 18:06:49 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.75: +9 -10 lines
Diff to previous 1.75 (colored) to selected 1.98.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.75 / (download) - annotate - [select for diffs], Wed Dec 10 11:40:12 2003 UTC (20 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.74: +13 -3 lines
Diff to previous 1.74 (colored) to selected 1.98.2.1 (colored)

The file system snapshot pseudo driver.

Uses a hook in spec_strategy() to save data written from a mounted
file system to its block device and a hook in dounmount().

Not enabled by default in any kernel config.

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

Revision 1.74 / (download) - annotate - [select for diffs], Wed Nov 26 11:33:50 2003 UTC (20 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.73: +2 -4 lines
Diff to previous 1.73 (colored) to selected 1.98.2.1 (colored)

spec_close: asserting that the terminal's process group be set if it is
associated with a session is too strong; a foreground group may go away
without being immediately replaced with another.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Nov 25 12:52:10 2003 UTC (20 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.72: +2 -4 lines
Diff to previous 1.72 (colored) to selected 1.98.2.1 (colored)

spec_close: we don't need to lock the vnode just to make a copy of its flags.

Revision 1.72 / (download) - annotate - [select for diffs], Mon Nov 24 14:59:38 2003 UTC (20 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.71: +11 -6 lines
Diff to previous 1.71 (colored) to selected 1.98.2.1 (colored)

spec_close: controlling terminal hack: drop session reference count only if
we actually had a reference.

Revision 1.71 / (download) - annotate - [select for diffs], Thu Nov 6 08:58:04 2003 UTC (20 years, 4 months ago) by dsl
Branch: MAIN
Changes since 1.70: +12 -3 lines
Diff to previous 1.70 (colored) to selected 1.98.2.1 (colored)

When closing a process's controlling terminal, also remove the links
to the session and pgrp from the tty.  The way that the console is
handled means that the vrele() may not actually do the final close
on the tty itself.

Revision 1.70 / (download) - annotate - [select for diffs], Wed Oct 15 08:41:26 2003 UTC (20 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.69: +17 -15 lines
Diff to previous 1.69 (colored) to selected 1.98.2.1 (colored)

Set vnode size of character disk devices to that of the partition when they
are opened (was always done for block devices).
This means that fstat will report the partition size and hence newfs
needn't grovel into the disklabel to find the filesystem size.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Aug 7 16:32:44 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.68: +3 -7 lines
Diff to previous 1.68 (colored) to selected 1.98.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.68.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:26:54 2003 UTC (20 years, 9 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.68: +27 -27 lines
Diff to previous 1.68 (colored) to selected 1.98.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.68 / (download) - annotate - [select for diffs], Sun Jun 29 22:31:48 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.67: +25 -25 lines
Diff to previous 1.67 (colored) to selected 1.98.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.67 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:05 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.66: +27 -27 lines
Diff to previous 1.66 (colored) to selected 1.98.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.53.2.15 / (download) - annotate - [select for diffs], Mon Nov 11 22:14:50 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.53.2.14: +44 -0 lines
Diff to previous 1.53.2.14 (colored) next main 1.54 (colored) to selected 1.98.2.1 (colored)

Catch up to -current

Revision 1.66 / (download) - annotate - [select for diffs], Sat Oct 26 13:50:17 2002 UTC (21 years, 5 months ago) by jdolecek
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.65: +15 -2 lines
Diff to previous 1.65 (colored) to selected 1.98.2.1 (colored)

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies

Revision 1.65 / (download) - annotate - [select for diffs], Wed Oct 23 09:14:38 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge
Changes since 1.64: +33 -2 lines
Diff to previous 1.64 (colored) to selected 1.98.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.54.2.7 / (download) - annotate - [select for diffs], Thu Oct 10 18:43:34 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.54.2.6: +83 -38 lines
Diff to previous 1.54.2.6 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored) to selected 1.98.2.1 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.54.2.6 / (download) - annotate - [select for diffs], Thu Sep 26 15:23:11 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.54.2.5: +7 -7 lines
Diff to previous 1.54.2.5 (colored) to branchpoint 1.54 (colored) to selected 1.98.2.1 (colored)

spec_kqfilter(): return EOPNOTSUPP for !VCHR case; block devices don't
support kevents, and we don't want to attempt to support for any other
files ending here neither (i.e. those which get spec vnodeops via vflush())

Revision 1.53.2.14 / (download) - annotate - [select for diffs], Tue Sep 17 21:22:41 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.13: +76 -35 lines
Diff to previous 1.53.2.13 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.64 / (download) - annotate - [select for diffs], Fri Sep 6 13:18:43 2002 UTC (21 years, 6 months ago) by gehenna
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base
Changes since 1.63: +78 -37 lines
Diff to previous 1.63 (colored) to selected 1.98.2.1 (colored)

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.

Revision 1.54.2.5 / (download) - annotate - [select for diffs], Fri Sep 6 08:48:42 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.54.2.4: +5 -5 lines
Diff to previous 1.54.2.4 (colored) to branchpoint 1.54 (colored) to selected 1.98.2.1 (colored)

sync kqueue branch with HEAD

Revision 1.61.2.3 / (download) - annotate - [select for diffs], Thu Aug 29 05:23:25 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.61.2.2: +2 -2 lines
Diff to previous 1.61.2.2 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored) to selected 1.98.2.1 (colored)

catch up with -current.

Revision 1.53.2.13 / (download) - annotate - [select for diffs], Tue Aug 27 23:47:48 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.12: +2 -2 lines
Diff to previous 1.53.2.12 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.63 / (download) - annotate - [select for diffs], Mon Aug 26 01:32:41 2002 UTC (21 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.62: +4 -4 lines
Diff to previous 1.62 (colored) to selected 1.98.2.1 (colored)

Fix a signed/unsigned comparison warning from GCC 3.3.

Revision 1.53.2.12 / (download) - annotate - [select for diffs], Thu Aug 1 02:46:34 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.11: +3 -3 lines
Diff to previous 1.53.2.11 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.53.2.11 / (download) - annotate - [select for diffs], Mon Jul 15 20:23:25 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.10: +4 -6 lines
Diff to previous 1.53.2.10 (colored) to selected 1.98.2.1 (colored)

Whitespace.

Revision 1.61.2.2 / (download) - annotate - [select for diffs], Mon Jul 15 10:36:46 2002 UTC (21 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.61.2.1: +3 -3 lines
Diff to previous 1.61.2.1 (colored) to branchpoint 1.61 (colored) to selected 1.98.2.1 (colored)

catch up with -current.

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

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

Revision 1.62 / (download) - annotate - [select for diffs], Wed Jul 10 23:16:33 2002 UTC (21 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored) to selected 1.98.2.1 (colored)

Spell acquire with a 'c'.

Revision 1.53.2.9 / (download) - annotate - [select for diffs], Mon Jun 24 22:11:17 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.8: +5 -5 lines
Diff to previous 1.53.2.8 (colored) to selected 1.98.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.54.2.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:50:15 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.54.2.3: +4 -2 lines
Diff to previous 1.54.2.3 (colored) to branchpoint 1.54 (colored) to selected 1.98.2.1 (colored)

catch up with -current on kqueue branch

Revision 1.53.2.8 / (download) - annotate - [select for diffs], Thu Jun 20 03:48:03 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.7: +4 -2 lines
Diff to previous 1.53.2.7 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.61.2.1 / (download) - annotate - [select for diffs], Thu May 16 04:04:27 2002 UTC (21 years, 10 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.61: +78 -37 lines
Diff to previous 1.61 (colored) to selected 1.98.2.1 (colored)

Replace the direct-access to devsw table with calling devsw APIs.

Revision 1.61 / (download) - annotate - [select for diffs], Sun May 12 20:42:03 2002 UTC (21 years, 10 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.60: +4 -2 lines
Diff to previous 1.60 (colored) to selected 1.98.2.1 (colored)

Extern speclisth

Revision 1.54.2.3 / (download) - annotate - [select for diffs], Thu Jan 10 20:01:46 2002 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.54.2.2: +14 -40 lines
Diff to previous 1.54.2.2 (colored) to branchpoint 1.54 (colored) to selected 1.98.2.1 (colored)

Sync kqueue branch with -current.

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

Catch up to -current.

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

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

Revision 1.60 / (download) - annotate - [select for diffs], Sat Nov 10 13:33:44 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Changes since 1.59: +4 -1 lines
Diff to previous 1.59 (colored) to selected 1.98.2.1 (colored)

add RCSIDs

Revision 1.48.4.4 / (download) - annotate - [select for diffs], Sat Oct 27 17:40:00 2001 UTC (22 years, 5 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.48.4.3: +7 -13 lines
Diff to previous 1.48.4.3 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored) to selected 1.98.2.1 (colored)

Pull up revision 1.59 (via patch, requested by chs):
  Change spec_{read,write}() to specify block number in units of
  DEV_BSIZE instead of the device's sector size.  With this,
  /dev/rcd0a and /dev/cd0a returns the same data.  Fixes PR#3261
  and PR#14026.

Revision 1.56.2.6 / (download) - annotate - [select for diffs], Mon Oct 1 12:47:23 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.56.2.5: +11 -39 lines
Diff to previous 1.56.2.5 (colored) to branchpoint 1.56 (colored) next main 1.57 (colored) to selected 1.98.2.1 (colored)

Catch up with -current.

Revision 1.56.2.5 / (download) - annotate - [select for diffs], Fri Sep 28 20:39:28 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.56.2.4: +25 -23 lines
Diff to previous 1.56.2.4 (colored) to branchpoint 1.56 (colored) to selected 1.98.2.1 (colored)

Bring locking state of VCHR vnodes across device entry points back
to what they used to be. The locking state of vnodes across
device functions really needs to be cleaned up, but at least
this is not worse than it was before.

Revision 1.56.2.4 / (download) - annotate - [select for diffs], Thu Sep 27 14:52:26 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.56.2.3: +64 -1 lines
Diff to previous 1.56.2.3 (colored) to branchpoint 1.56 (colored) to selected 1.98.2.1 (colored)

Do real locking for cloned vnodes (most filesystems have real locking
for spec vnodes, so clones should have it too).  Could probably do locking
all the time for spec vnodes, but need to check if vnodes created
during bootstrap with {b,c}devvp will cause trouble if they have actual
locks.

Revision 1.53.2.6 / (download) - annotate - [select for diffs], Wed Sep 26 19:55:08 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.5: +7 -13 lines
Diff to previous 1.53.2.5 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.
Again.

Revision 1.56.2.3 / (download) - annotate - [select for diffs], Wed Sep 26 15:28:24 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.56.2.2: +100 -64 lines
Diff to previous 1.56.2.2 (colored) to branchpoint 1.56 (colored) to selected 1.98.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.59 / (download) - annotate - [select for diffs], Sun Sep 23 04:39:25 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.58: +7 -13 lines
Diff to previous 1.58 (colored) to selected 1.98.2.1 (colored)

change spec_{read,write}() to specify the device blkno in units of DEV_BSIZE
rather than the device's sector size.  this allows /dev/rcd0a and /dev/cd0a
to return the same data.  fixes PRs 3261 and 14026.

Revision 1.53.2.5 / (download) - annotate - [select for diffs], Fri Sep 21 22:36:39 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.4: +5 -28 lines
Diff to previous 1.53.2.4 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Sep 21 08:02:55 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored) to selected 1.98.2.1 (colored)

use shared locks instead of exclusive for VOP_READ() and VOP_READDIR().

Revision 1.56.2.2 / (download) - annotate - [select for diffs], Tue Sep 18 19:13:57 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.56.2.1: +40 -4 lines
Diff to previous 1.56.2.1 (colored) to branchpoint 1.56 (colored) to selected 1.98.2.1 (colored)

Various changes to make cloning devices possible:

	* Add an extra argument (struct vnode **) to VOP_OPEN. If it is
	  not NULL, specfs will create a cloned (aliased) vnode during
	  the call, and return it there. The caller should release and
	  unlock the original vnode if a new vnode was returned. The
	  new vnode is returned locked.

	* Add a flag field to the cdevsw and bdevsw structures.
	  DF_CLONING indicates that it wants a new vnode for each
	  open (XXX is there a better way? devprop?)

	* If a device is cloning, always call the close entry
	  point for a VOP_CLOSE.


Also, rewrite cons.c to do the right thing with vnodes. Use VOPs
rather then direct device entry calls. Suggested by mycroft@

Light to moderate testing done an i386 system (arch doesn't matter
though, these are MI changes).

Revision 1.57 / (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.56: +4 -27 lines
Diff to previous 1.56 (colored) to selected 1.98.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.56.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.56: +19 -18 lines
Diff to previous 1.56 (colored) to selected 1.98.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.54.2.2 / (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.54.2.1: +35 -4 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored) to selected 1.98.2.1 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.53.2.4 / (download) - annotate - [select for diffs], Fri Aug 24 04:20:08 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.3: +2 -2 lines
Diff to previous 1.53.2.3 (colored) to selected 1.98.2.1 (colored)

A few files and lwp/proc conversions I missed in the last big update.
GENERIC runs again.

Revision 1.53.2.3 / (download) - annotate - [select for diffs], Fri Aug 24 00:11:59 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.2: +35 -4 lines
Diff to previous 1.53.2.2 (colored) to selected 1.98.2.1 (colored)

Catch up with -current.

Revision 1.56 / (download) - annotate - [select for diffs], Sat Aug 18 05:34:46 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.55: +110 -33 lines
Diff to previous 1.55 (colored) to selected 1.98.2.1 (colored)

undo the part of the last revision that made user block device access
use the UBC interfaces.  too many problems with that yet.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Aug 17 05:51:53 2001 UTC (22 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.54: +67 -113 lines
Diff to previous 1.54 (colored) to selected 1.98.2.1 (colored)

initialize the UVM vnode size for block devices.
UBCify user access to block devices.

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Tue Jul 10 14:01:35 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.54: +28 -1 lines
Diff to previous 1.54 (colored) to selected 1.98.2.1 (colored)

add spec_kqfilter()

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 20:07:45 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.53.2.1: +2 -2 lines
Diff to previous 1.53.2.1 (colored) to selected 1.98.2.1 (colored)

Catch up to -current.

Revision 1.44.2.4 / (download) - annotate - [select for diffs], Sat Apr 21 17:46:36 2001 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.44.2.3: +2 -2 lines
Diff to previous 1.44.2.3 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD

Revision 1.54 / (download) - annotate - [select for diffs], Tue Apr 17 18:49:26 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Branch point for: kqueue
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored) to selected 1.98.2.1 (colored)

Don't hold vp->v_interlock when calling vcount(); vcount() calls
vgone(), which may sleep.

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

Initial commit of scheduler activations and lightweight process support.

Revision 1.44.2.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:03 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.44.2.2: +3 -3 lines
Diff to previous 1.44.2.2 (colored) to branchpoint 1.44 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Jan 22 12:17:40 2001 UTC (23 years, 2 months ago) by jdolecek
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.48.4.3 / (download) - annotate - [select for diffs], Thu Dec 14 23:36:14 2000 UTC (23 years, 3 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.48.4.2: +3 -1 lines
Diff to previous 1.48.4.2 (colored) to branchpoint 1.48 (colored) to selected 1.98.2.1 (colored)

Pull up revision 1.50 (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.44.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:05:46 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.44.2.1: +6 -7 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) to selected 1.98.2.1 (colored)

Sync with HEAD.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:09:50 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.44: +30 -13 lines
Diff to previous 1.44 (colored) to selected 1.98.2.1 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.52 / (download) - annotate - [select for diffs], Wed Nov 8 05:29:32 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.51: +6 -6 lines
Diff to previous 1.51 (colored) to selected 1.98.2.1 (colored)

fix an LP64BE bogon.

Revision 1.48.4.2 / (download) - annotate - [select for diffs], Mon Oct 30 22:01:12 2000 UTC (23 years, 5 months ago) by tv
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2
Changes since 1.48.4.1: +1 -2 lines
Diff to previous 1.48.4.1 (colored) to branchpoint 1.48 (colored) to selected 1.98.2.1 (colored)

Pullup 1.51 [jmc]:
Remove usecount check in spec_open. It fails to catch VALIAS situations
and vfs_mountedon will handle them all correctly.

Revision 1.43.6.2 / (download) - annotate - [select for diffs], Fri Oct 27 20:45:36 2000 UTC (23 years, 5 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003
Changes since 1.43.6.1: +1 -2 lines
Diff to previous 1.43.6.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored) to selected 1.98.2.1 (colored)

Pull up revision 1.51 (requested by jmc):
  Fix security problem in spec_open().

Revision 1.51 / (download) - annotate - [select for diffs], Fri Oct 27 06:28:27 2000 UTC (23 years, 5 months ago) by jmc
Branch: MAIN
Changes since 1.50: +1 -2 lines
Diff to previous 1.50 (colored) to selected 1.98.2.1 (colored)

Remove usecount check in spec_open. It fails to catch VALIAS situations
and vfs_mountedon will handle them all correctly.

Revision 1.50 / (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.49: +3 -1 lines
Diff to previous 1.49 (colored) to selected 1.98.2.1 (colored)

Adapt for VOP_FSYNC parameter change.

Revision 1.48.4.1 / (download) - annotate - [select for diffs], Sun Jul 30 20:38:57 2000 UTC (23 years, 8 months ago) by jdolecek
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Changes since 1.48: +2 -3 lines
Diff to previous 1.48 (colored) to selected 1.98.2.1 (colored)

Pullup from trunk (approved by thorpej):
Change lf_advlock() to:
int      lf_advlock (struct vop_advlock_args *, struct lockf **, off_t)

This matches it's usage. Change inspired by FreeBSD, though we use
off_t instead u_quad_t as the last argument.

sys/lockf.h			rev. 1.9
msdosfs/msdosfs_vnops.c		rev. 1.99
kern/vfs_lockf.c		rev. 1.17
miscfs/specfs/spec_vnops.c	rev. 1.49
nfs/nfs_vnops.c			rev. 1.115
ufs/ext2fs/ext2fs_vnops.c	rev. 1.28
ufs/ufs/ufs_vnops.c		rev. 1.72

Revision 1.49 / (download) - annotate - [select for diffs], Sat Jul 22 15:26:14 2000 UTC (23 years, 8 months ago) by jdolecek
Branch: MAIN
Changes since 1.48: +2 -3 lines
Diff to previous 1.48 (colored) to selected 1.98.2.1 (colored)

change the lf_advlock() arguments from

int     lf_advlock __P((struct lockf **,
           off_t, caddr_t, int, struct flock *, int));
to

int     lf_advlock __P((struct vop_advlock_args *, struct lockf **, off_t));

This matches common usage and is also compatible with similar change
in FreeBSD (though they use u_quad_t as last arg).

Revision 1.48 / (download) - annotate - [select for diffs], Thu Mar 30 12:22:14 2000 UTC (24 years ago) by augustss
Branch: MAIN
CVS Tags: netbsd-1-5-base, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.47: +10 -10 lines
Diff to previous 1.47 (colored) to selected 1.98.2.1 (colored)

Register, begone!

Revision 1.43.12.2 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:05 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.43.12.1: +52 -7 lines
Diff to previous 1.43.12.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored) to selected 1.98.2.1 (colored)

Pull up to last week's -current.

Revision 1.43.12.1 / (download) - annotate - [select for diffs], Tue Dec 21 23:20:01 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.43: +13 -4 lines
Diff to previous 1.43 (colored) to selected 1.98.2.1 (colored)

Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".

Revision 1.47 / (download) - annotate - [select for diffs], Wed Dec 8 19:16:52 1999 UTC (24 years, 3 months ago) by sommerfeld
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.46: +2 -1 lines
Diff to previous 1.46 (colored) to selected 1.98.2.1 (colored)

Add appropriate VOP_FCNTL handlers to deadfs and specfs ops vectors.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Dec 8 18:57:07 1999 UTC (24 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.45: +11 -1 lines
Diff to previous 1.45 (colored) to selected 1.98.2.1 (colored)

Change to comment (only) indicating what the specfs ops vector is used for.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:10 1999 UTC (24 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.44: +7 -2 lines
Diff to previous 1.44 (colored) to selected 1.98.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.44.4.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:13 1999 UTC (24 years, 5 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.44: +7 -2 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.43.6.1 / (download) - annotate - [select for diffs], Mon Oct 18 05:05:14 1999 UTC (24 years, 5 months ago) by cgd
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH002
Changes since 1.43: +35 -6 lines
Diff to previous 1.43 (colored) to selected 1.98.2.1 (colored)

pull up rev 1.44 from trunk (requested by wrstuden):
  In spec_close(), call the device's close routine with the vnode
  unlocked if the call might block. Force a non-blocking close if
  VXLOCK is set.  This eliminates a potential deadlock situation, and
  should eliminate the dirty buffers on reboot issue.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Oct 16 23:53:27 1999 UTC (24 years, 5 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999
Branch point for: thorpej_scsipi, fvdl-softdep
Changes since 1.43: +35 -6 lines
Diff to previous 1.43 (colored) to selected 1.98.2.1 (colored)

In spec_close(), if we're not doing a non-blocking close and VXLOCK is
not set, unlock the vnode before calling the device's close routine and
relock it after it returns. tty close routines will sleep waiting for
buffers to drain, which won't happen often times as the other side needs
to grab the vnode lock first.

Make all unmount routines lock the device vnode before calling VOP_CLOSE().

Revision 1.43 / (download) - annotate - [select for diffs], Fri Oct 2 00:21:39 1998 UTC (25 years, 6 months ago) by ross
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH001, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, chs-ubc2-base, chs-ubc2, chs-ubc-base, chs-ubc
Branch point for: wrstuden-devbsize, netbsd-1-4
Changes since 1.42: +12 -6 lines
Diff to previous 1.42 (colored) to selected 1.98.2.1 (colored)

Make spec_write() process errors and return them, otherwise we don't even
notice things like hitting the end of a partition or device.  (To be sure,
writes to block special files are rare, but as long as we support them...)

Revision 1.42 / (download) - annotate - [select for diffs], Tue Aug 18 06:30:09 1998 UTC (25 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.41: +3 -2 lines
Diff to previous 1.41 (colored) to selected 1.98.2.1 (colored)

Add some braces to make egcs happy (ambiguous else warning).

Revision 1.41 / (download) - annotate - [select for diffs], Mon Aug 3 14:20:00 1998 UTC (25 years, 8 months ago) by kleink
Branch: MAIN
Changes since 1.40: +4 -1 lines
Diff to previous 1.40 (colored) to selected 1.98.2.1 (colored)

Recognize _PC_SYNC_IO.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Jun 5 19:53:00 1998 UTC (25 years, 9 months ago) by kleink
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored) to selected 1.98.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.

Revision 1.1.1.4 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:56:12 1998 UTC (26 years, 1 month ago) by fvdl
Branch: WFJ-920714, CSRG
CVS Tags: post-lite-2
Changes since 1.1.1.3: +2 -1 lines
Diff to previous 1.1.1.3 (colored) to selected 1.98.2.1 (colored)

Import some files that were changed after Lite2

Revision 1.39 / (download) - annotate - [select for diffs], Sun Mar 1 02:21:34 1998 UTC (26 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.38: +28 -31 lines
Diff to previous 1.38 (colored) to selected 1.98.2.1 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:13:16 1998 UTC (26 years, 1 month ago) by fvdl
Branch: WFJ-920714, CSRG
CVS Tags: lite-2
Changes since 1.1.1.2: +34 -37 lines
Diff to previous 1.1.1.2 (colored) to selected 1.98.2.1 (colored)

Import 4.4BSD-Lite2

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:10:02 1998 UTC (26 years, 1 month ago) by fvdl
Branch: WFJ-920714, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1.1.1: +345 -175 lines
Diff to previous 1.1.1.1 (colored) to selected 1.98.2.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.38 / (download) - annotate - [select for diffs], Thu Oct 16 23:57:51 1997 UTC (26 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.98.2.1 (colored)

Add missing cast to dev_t

Revision 1.36.4.1 / (download) - annotate - [select for diffs], Tue Oct 14 10:28:38 1997 UTC (26 years, 5 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.36: +8 -8 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.98.2.1 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.37 / (download) - annotate - [select for diffs], Thu Oct 9 13:00:05 1997 UTC (26 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: marc-pcmcia-base
Changes since 1.36: +8 -8 lines
Diff to previous 1.36 (colored) to selected 1.98.2.1 (colored)

Make various standard wmesg strings const.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Apr 2 17:14:32 1997 UTC (27 years ago) by kleink
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.35: +1 -3 lines
Diff to previous 1.35 (colored) to selected 1.98.2.1 (colored)

Remove superfluous (uio_resid == 0) check.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Apr 2 17:09:47 1997 UTC (27 years ago) by kleink
Branch: MAIN
Changes since 1.34: +22 -1 lines
Diff to previous 1.34 (colored) to selected 1.98.2.1 (colored)

added advisory record locking support

Revision 1.34 / (download) - annotate - [select for diffs], Sun Oct 13 02:21:41 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored) to selected 1.98.2.1 (colored)

backout previous kprintf changes

Revision 1.33 / (download) - annotate - [select for diffs], Thu Oct 10 22:54:19 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.32: +3 -3 lines
Diff to previous 1.32 (colored) to selected 1.98.2.1 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.32 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:19 1996 UTC (27 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +7 -9 lines
Diff to previous 1.31 (colored) to selected 1.98.2.1 (colored)

Implement poll(2).

Revision 1.31 / (download) - annotate - [select for diffs], Thu Sep 5 09:26:16 1996 UTC (27 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.30: +1 -4 lines
Diff to previous 1.30 (colored) to selected 1.98.2.1 (colored)

Remove some unused variables.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Sep 1 23:48:28 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.29: +9 -76 lines
Diff to previous 1.29 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.29 / (download) - annotate - [select for diffs], Mon Apr 22 01:42:38 1996 UTC (27 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.28: +1 -2 lines
Diff to previous 1.28 (colored) to selected 1.98.2.1 (colored)

remove include of <sys/cpu.h>

Revision 1.28 / (download) - annotate - [select for diffs], Fri Feb 9 22:40:57 1996 UTC (28 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.27: +97 -62 lines
Diff to previous 1.27 (colored) to selected 1.98.2.1 (colored)

miscfs prototype changes

Revision 1.26.2.1 / (download) - annotate - [select for diffs], Sun Oct 15 05:19:55 1995 UTC (28 years, 5 months ago) by mycroft
Branch: netbsd-1-1
CVS Tags: netbsd-1-1-RELEASE, netbsd-1-1-PATCH001
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) next main 1.27 (colored) to selected 1.98.2.1 (colored)

Update from main branch.

Revision 1.27 / (download) - annotate - [select for diffs], Sun Oct 15 05:18:12 1995 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) to selected 1.98.2.1 (colored)

Implement VOP_BWRITE() using vn_bwrite(), per r_friedl@informatik.uni-kl.de.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jul 24 21:20:11 1995 UTC (28 years, 8 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base
Branch point for: netbsd-1-1
Changes since 1.25: +3 -6 lines
Diff to previous 1.25 (colored) to selected 1.98.2.1 (colored)

avoid unnecessary aging of buffers.  This used to make sense, when buffer
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow.  Suggested by Bob Baron.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jul 8 00:42:45 1995 UTC (28 years, 8 months ago) by cgd
Branch: MAIN
Changes since 1.24: +2 -1 lines
Diff to previous 1.24 (colored) to selected 1.98.2.1 (colored)

add missing splx(), as suggested by enami@sys.ptg.sony.co.jp.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Jul 2 07:20:50 1995 UTC (28 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.23: +12 -11 lines
Diff to previous 1.23 (colored) to selected 1.98.2.1 (colored)

Make spec_read() and spec_write() vaguely consistent.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Apr 10 00:48:10 1995 UTC (28 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.22: +9 -6 lines
Diff to previous 1.22 (colored) to selected 1.98.2.1 (colored)

Use the new d_type field.  Set VISTTY for vnodes of tty devices.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Dec 14 18:49:38 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.21: +3 -6 lines
Diff to previous 1.21 (colored) to selected 1.98.2.1 (colored)

Remove a_fp.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Dec 13 20:14:46 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.20 / (download) - annotate - [select for diffs], Mon Nov 14 06:07:45 1994 UTC (29 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.19: +6 -3 lines
Diff to previous 1.19 (colored) to selected 1.98.2.1 (colored)

fixed struct comment; passed extra argument (struct file *) to open

Revision 1.19 / (download) - annotate - [select for diffs], Sat Oct 29 07:59:00 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) to selected 1.98.2.1 (colored)

light clean; make sure headers are properly included, types are OK, etc.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Oct 20 04:26:38 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) to selected 1.98.2.1 (colored)

update for new syscall args description mechanism

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Sat Jul 16 21:03:43 1994 UTC (29 years, 8 months ago) by cgd
Branch: netbsd-1-0
CVS Tags: netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0
Changes since 1.16: +19 -11 lines
Diff to previous 1.16 (colored) next main 1.17 (colored) to selected 1.98.2.1 (colored)

update from trunk, per paulus

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jul 16 11:40:56 1994 UTC (29 years, 8 months ago) by paulus
Branch: MAIN
Changes since 1.16: +19 -11 lines
Diff to previous 1.16 (colored) to selected 1.98.2.1 (colored)

Support for block special files with sector sizes other than DEV_BSIZE -
if the device has a disklabel with a non-zero sector size value, that
value is used instead of DEV_BSIZE.

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

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

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 8 11:33:47 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.14: +316 -189 lines
Diff to previous 1.14 (colored) to selected 1.98.2.1 (colored)

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

Revision 1.14 / (download) - annotate - [select for diffs], Tue May 24 02:36:33 1994 UTC (29 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored) to selected 1.98.2.1 (colored)

MIN -> min, MAX -> max

Revision 1.13 / (download) - annotate - [select for diffs], Thu Apr 21 07:48:55 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored) to selected 1.98.2.1 (colored)

Convert mount, vnode, and buf structs to use <sys/queue.h>.  Also,
some knf and structure frobbing to do along with it.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jan 27 03:42:02 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.11: +3 -4 lines
Diff to previous 1.11 (colored) to selected 1.98.2.1 (colored)

oops; fix that last...

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jan 27 03:16:40 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.10: +15 -1 lines
Diff to previous 1.10 (colored) to selected 1.98.2.1 (colored)

hack from Mike Karels to deal with the last close on a controlling
terminal.  from 4.4BSD.

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Thu Jan 6 15:05:06 1994 UTC (30 years, 2 months ago) by pk
Branch: magnum
Changes since 1.5.2.2: +2 -2 lines
Diff to previous 1.5.2.2 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.98.2.1 (colored)

Re-instate EOPNOTSUPP.

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Tue Dec 28 16:35:23 1993 UTC (30 years, 3 months ago) by pk
Branch: magnum
Changes since 1.5.2.1: +2 -2 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored) to selected 1.98.2.1 (colored)

Use ENODEV rather then EOPNOTSUP for unsupported operations on non-socket devices

Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 22 13:14:42 1993 UTC (30 years, 3 months ago) by cgd
Branch: MAIN
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored) to selected 1.98.2.1 (colored)

fix return type of vnode print routine

Revision 1.9 / (download) - annotate - [select for diffs], Sat Dec 18 03:59:02 1993 UTC (30 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.8: +17 -17 lines
Diff to previous 1.8 (colored) to selected 1.98.2.1 (colored)

Canonicalize all #includes.

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Fri Nov 12 06:12:24 1993 UTC (30 years, 4 months ago) by cgd
Branch: magnum
Changes since 1.5: +17 -17 lines
Diff to previous 1.5 (colored) to selected 1.98.2.1 (colored)

new specfs.h and fifo.h locations, and include file syntax updates

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 12 05:56:10 1993 UTC (30 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored) to selected 1.98.2.1 (colored)

new specfs.h and fifo.h locations

Revision 1.7 / (download) - annotate - [select for diffs], Sat Oct 30 16:11:07 1993 UTC (30 years, 5 months ago) by glass
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored) to selected 1.98.2.1 (colored)

fix chris typo.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 29 19:25:18 1993 UTC (30 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.5: +5 -1 lines
Diff to previous 1.5 (colored) to selected 1.98.2.1 (colored)

limit block sizes requested

Revision 1.5 / (download) - annotate - [select for diffs], Mon Aug 23 05:02:06 1993 UTC (30 years, 7 months ago) by cgd
Branch: MAIN
CVS Tags: magnum-base
Branch point for: magnum
Changes since 1.4: +7 -1 lines
Diff to previous 1.4 (colored) to selected 1.98.2.1 (colored)

changes from 0.9-ALPHA2 to 0.9-BETA

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Fri Aug 20 12:03:25 1993 UTC (30 years, 7 months ago) by mycroft
Branch: netbsd-0-9
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-RELEASE, netbsd-0-9-BETA
Changes since 1.4: +7 -1 lines
Diff to previous 1.4 (colored) next main 1.5 (colored) to selected 1.98.2.1 (colored)

Add a small bit of debugging code.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jun 27 06:01:50 1993 UTC (30 years, 9 months ago) by andrew
Branch: MAIN
CVS Tags: netbsd-0-9-base, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA
Branch point for: netbsd-0-9
Changes since 1.3: +19 -2 lines
Diff to previous 1.3 (colored) to selected 1.98.2.1 (colored)

ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.

Revision 1.3 / (download) - annotate - [select for diffs], Thu May 20 02:54:52 1993 UTC (30 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.2: +2 -8 lines
Diff to previous 1.2 (colored) to selected 1.98.2.1 (colored)

add $Id$ strings, and clean up file headers where necessary

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 21 18:04:42 1993 UTC (31 years ago) by cgd
Branch: MAIN
CVS Tags: patchkit-0-2-2, netbsd-alpha-1, netbsd-0-8
Changes since 1.1: +9 -0 lines
Diff to previous 1.1 (colored) to selected 1.98.2.1 (colored)

after 0.2.2 "stable" patches applied

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 21 09:45:37 1993 UTC (31 years ago) by cgd
Branch: WFJ-920714, CSRG
CVS Tags: WFJ-386bsd-01
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.98.2.1 (colored)

initial import of 386bsd-0.1 sources

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (31 years ago) by cgd
Branch: MAIN
Diff to selected 1.98.2.1 (colored)

Initial revision

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>