summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-06-06 17:40:57 +0000
committerjlemon <jlemon@FreeBSD.org>2001-06-06 17:40:57 +0000
commitbf3a0c1bb10ffc87be85ae3e805b617e9d0e7cc9 (patch)
treec8717170c0cc5e1b68f6bdd49a3e341b03291f6f /sys/ufs
parent60545edbcb9facbd2051b8dae4a8de9c998e5a3d (diff)
downloadFreeBSD-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.c19
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 },
OpenPOWER on IntegriCloud