[Bug 225934] FIFOs lack kevent EVFILT_VNODE support

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Apr 28 14:03:09 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225934

Mark Johnston <markj at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj at FreeBSD.org

--- Comment #1 from Mark Johnston <markj at FreeBSD.org> ---
Indeed, at the end of fifo_open() we set the file's ops table to pipeops. 
pipe_kqfilter() has no way of attaching a knote to the fifo vnode.  We could
perhaps handle it with a new file ops table for fifos: every operation except
kqfilter would just be the corresponding operation in pipeops.  fifo_kqfilter()
would attempt to handle EVFILT_VNODE by calling vfs_kqfilter() and otherwise
would call pipe_kqfilter().

Another option might be to maintain a backpointer from the pipe structure to
the vnode for named pipes.

BTW there is some dead code here, I can't see how ufsfifo_kqfilter() can ever
get called.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list