diff options
author | ssouhlal <ssouhlal@FreeBSD.org> | 2005-06-09 20:20:31 +0000 |
---|---|---|
committer | ssouhlal <ssouhlal@FreeBSD.org> | 2005-06-09 20:20:31 +0000 |
commit | 0835f7b4a9a7e80823912ce250d4082b5a23a401 (patch) | |
tree | f884ddce34ea556a36562577b6b807ab201ffb03 /sys/sys/event.h | |
parent | bf3a7d1c45580ecf11f34f58fcdb57fba76c9d40 (diff) | |
download | FreeBSD-src-0835f7b4a9a7e80823912ce250d4082b5a23a401.zip FreeBSD-src-0835f7b4a9a7e80823912ce250d4082b5a23a401.tar.gz |
Allow EVFILT_VNODE events to work on every filesystem type, not just
UFS by:
- Making the pre and post hooks for the VOP functions work even when
DEBUG_VFS_LOCKS is not defined.
- Moving the KNOTE activations into the corresponding VOP hooks.
- Creating a MNTK_NOKNOTE flag for the mnt_kern_flag field of struct
mount that permits filesystems to disable the new behavior.
- Creating a default VOP_KQFILTER function: vfs_kqfilter()
My benchmarks have not revealed any performance degradation.
Reviewed by: jeff, bde
Approved by: rwatson, jmg (kqueue changes), grehan (mentor)
Diffstat (limited to 'sys/sys/event.h')
-rw-r--r-- | sys/sys/event.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sys/event.h b/sys/sys/event.h index 3cf8bce..82764bc 100644 --- a/sys/sys/event.h +++ b/sys/sys/event.h @@ -141,6 +141,8 @@ MALLOC_DECLARE(M_KQUEUE); #define KNOTE_LOCKED(list, hint) knote(list, hint, 1) #define KNOTE_UNLOCKED(list, hint) knote(list, hint, 0) +#define KNLIST_EMPTY(list) SLIST_EMPTY(&(list)->kl_list) + /* * Flag indicating hint is a signal. Used by EVFILT_SIGNAL, and also * shared by EVFILT_PROC (all knotes attached to p->p_klist) |