| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Make kqueue event status for vnodes shareable, and for stacked file systems
like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
|
|
|
|
|
|
|
|
|
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than
forcing each individual file system to deal with it (except VOP_RENAME(),
because VOP_RENAME() is a mess and we currently have 2 different ways
of handling it; at least it's reasonably well-centralized in the "new"
way).
- Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ,
compatible with the same events in FreeBSD.
- Track which kevent notifications clients are interested in receiving
to avoid doing work for events no one cares about (avoiding, e.g.
taking locks and traversing the klist to send a NOTE_WRITE when
someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers,
to be invoked before and after vop_pre() and vop_post(), respectively.
Basic idea from FreeBSD, but implemented differently.
- Add support in vnode_if.sh for specifying CONTEXT fields in the
vop_*_args structures. These context fields are used to convey information
between the file system VOP function and the VOP wrapper, but do not
occupy an argument slot in the VOP_*() call itself. These context fields
are initialized and subsequently interpreted by PRE- and POST-op handlers.
- Version VOP_REMOVE(), uses the a context field for the file system to report
back the resulting link count of the target vnode. Return this in tmpfs,
udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable
|
|
initialized
|
|
|
|
|
|
1. A race condition (bug) in sys/rump/librump/rumpkern/intr.c since
rumpuser_cv_signal() is called without holding a mutex
2. sleepq is implemented using a single (global) conditional
variable; that should be done per each sleepq separately
|
|
|
|
|
|
It was separated in 2016 and is no longer needed.
|
|
This file is OS-agnostic and cannot include OS specific headers.
The fallback for NetBSD specific symbol __BEGIN_DECLS didn't work as it was
misspelled as _BEGIN_DECLS.
|
|
(the large diff of rump_syscalls.h has been checked and was the point
of the makesyscalls change)
|
|
Respect syscall alias names in rump.
No binary change in this version.
The previous commit was interrupted in the middle by CVS network outage.
|
|
The only change is rump repecting syscall alias names.
No binary change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fix for PR kern/55088)
|
|
|
|
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart. v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap. Others to follow later.
|
|
|
|
|
|
|
|
|
|
|
|
|