diff options
author | jlemon <jlemon@FreeBSD.org> | 2001-06-06 17:40:57 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2001-06-06 17:40:57 +0000 |
commit | bf3a0c1bb10ffc87be85ae3e805b617e9d0e7cc9 (patch) | |
tree | c8717170c0cc5e1b68f6bdd49a3e341b03291f6f /sys/ufs | |
parent | 60545edbcb9facbd2051b8dae4a8de9c998e5a3d (diff) | |
download | FreeBSD-src-bf3a0c1bb10ffc87be85ae3e805b617e9d0e7cc9.zip FreeBSD-src-bf3a0c1bb10ffc87be85ae3e805b617e9d0e7cc9.tar.gz |
Add a wrapper for the fifo kqfilter which falls through to the ufs routine.
This permits the fifo to inherit the ufs VNODE kqfilter.
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ufs/ufs_vnops.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index cb6fcfc..ea871b6 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -102,6 +102,7 @@ static int ufs_strategy __P((struct vop_strategy_args *)); static int ufs_symlink __P((struct vop_symlink_args *)); static int ufs_whiteout __P((struct vop_whiteout_args *)); static int ufsfifo_close __P((struct vop_close_args *)); +static int ufsfifo_kqfilter __P((struct vop_kqfilter_args *)); static int ufsfifo_read __P((struct vop_read_args *)); static int ufsfifo_write __P((struct vop_write_args *)); static int ufsspec_close __P((struct vop_close_args *)); @@ -2088,6 +2089,23 @@ ufsfifo_close(ap) } /* + * Kqfilter wrapper for fifos. + * + * Fall through to ufs kqfilter routines if needed + */ +int +ufsfifo_kqfilter(ap) + struct vop_kqfilter_args *ap; +{ + int error; + + error = VOCALL(fifo_vnodeop_p, VOFFSET(vop_kqfilter), ap); + if (error) + error = ufs_kqfilter(ap); + return (error); +} + +/* * Return POSIX pathconf information applicable to ufs filesystems. */ int @@ -2579,6 +2597,7 @@ static struct vnodeopv_entry_desc ufs_fifoop_entries[] = { { &vop_getattr_desc, (vop_t *) ufs_getattr }, { &vop_inactive_desc, (vop_t *) ufs_inactive }, { &vop_islocked_desc, (vop_t *) vop_stdislocked }, + { &vop_kqfilter_desc, (vop_t *) ufsfifo_kqfilter }, { &vop_lock_desc, (vop_t *) vop_stdlock }, { &vop_print_desc, (vop_t *) ufs_print }, { &vop_read_desc, (vop_t *) ufsfifo_read }, |