Home | History | Annotate | Download | only in fifofs
History log of /src/sys/miscfs/fifofs/fifo.h
RevisionDateAuthorComments
 1.28  26-Oct-2022  riastradh miscfs/fifofs/fifo.h: New home for extern fifo_vnodeop_opv_desc.

Add include guard and fix missing includes while here too.
 1.27  18-Jul-2021  dholland Use macros for the canned parts of device and fifo vnode op tables.

Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain
the portion of the vnode ops table declaration that is
(conservatively) the same in every fs. Use these in every fs that
supports devices and/or fifos with separate ops tables.

Note that ptyfs works differently (it has one type of vnode with
open-coded dispatch to the specfs code, which I haven't changed in
this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic
dispatch that already does more or less the same thing, which I also
haven't changed.

Also note that this anticipates a few bits in the next changeset here
and there, and adds missing but unreachable calls in some cases (e.g.
most fses weren't defining whiteout on devices and fifos, but it isn't
reachable there), and it changes parsepath on devices and fifos to
genfs_badop from genfs_parsepath (but it's not reachable there
either).

It appears that devices in kernfs were missing kqfilter, so it's
possible that if you try to use kqueue on /kern/rootdev that it'll
explode.

And finally note that the ops declaration tables aren't
order-dependent. (Other than vop_default_desc has to come first.)
Otherwise this wouldn't work.
 1.26  29-Mar-2010  pooka branches: 1.26.76;
Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
 1.25  25-Jan-2008  ad branches: 1.25.10; 1.25.30; 1.25.32;
Remove VOP_LEASE. Discussed on tech-kern.
 1.24  11-Dec-2005  christos branches: 1.24.46; 1.24.52;
merge ktrace-lwp.
 1.23  02-Nov-2005  yamt merge yamt-vop branch. remove following VOPs.

VOP_BLKATOFF
VOP_VALLOC
VOP_BALLOC
VOP_REALLOCBLKS
VOP_VFREE
VOP_TRUNCATE
VOP_UPDATE
 1.22  30-Aug-2005  xtraeme branches: 1.22.2;
Remove __P()
 1.21  16-Jun-2004  wrstuden branches: 1.21.12;
Change fifo_{un,}lock and fifo_islocked to use the "real" lock
ops, not the nolock variants. Should have no real impact as according
to mkid, we only use fifo_vnodeop_entries, via fifo_vnodeop_p,
for selective operations on fifos. All the fifo users use the native
file system's locking routines.

Removes one use of genfs_nolock and friends.
 1.20  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.19  23-Oct-2002  jdolecek branches: 1.19.6;
merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.18  06-Dec-2001  chs add a VOP_PUTPAGES method for all the filesystems that don't have pages,
just unlock the interlock.
 1.17  22-Sep-2001  sommerfeld Add fifo_putpages() placebo so that the vnode's uobj is unlocked.
 1.16  13-Aug-1998  kleink branches: 1.16.24; 1.16.26; 1.16.28;
Per POSIX, fail with EINVAL if advisory locking is attempted on a file type
that doesn't support it, rather than using a homegrown EBADF or EOPNOTSUPP.
 1.15  24-Jun-1998  sommerfe Always include fifos; "not an option any more".
 1.14  22-Jun-1998  sommerfe defopt for options FIFO
 1.13  01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.12  07-Sep-1996  mycroft Implement poll(2).
 1.11  01-Sep-1996  mycroft Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
 1.10  09-Feb-1996  christos miscfs prototype changes
 1.9  13-Dec-1994  mycroft Turn lease_check() into a vnode op, per CSRG.
 1.8  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.7  08-Jun-1994  mycroft Update to 4.4-Lite fs code, with local changes.
 1.6  05-Jan-1994  cgd fix return type for fifo_print
 1.5  07-Sep-1993  ws Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
 1.4  27-Jun-1993  andrew ANSIfications - lots of function prototyping.
 1.3  20-May-1993  cgd add rcs ids as necessary, and also clean up headers
 1.2  19-Apr-1993  mycroft Add consistent multiple-inclusion protection.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.16.28.1  01-Oct-2001  fvdl Catch up with -current.
 1.16.26.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.16.26.1  10-Jul-2001  lukem add fifo_kqfilter() and filt_fifo*()
 1.16.24.3  11-Nov-2002  nathanw Catch up to -current
 1.16.24.2  08-Jan-2002  nathanw Catch up to -current.
 1.16.24.1  26-Sep-2001  nathanw Catch up to -current.
Again.
 1.19.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.6.1  03-Aug-2004  skrll Sync with HEAD
 1.21.12.2  04-Feb-2008  yamt sync with head.
 1.21.12.1  21-Jun-2006  yamt sync with head.
 1.22.2.1  20-Oct-2005  yamt adapt specfs and fifofs.
 1.24.52.1  18-Feb-2008  mjf Sync with HEAD.
 1.24.46.1  23-Mar-2008  matt sync with HEAD
 1.25.32.1  30-May-2010  rmind sync with head
 1.25.30.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.25.10.1  11-Aug-2010  yamt sync with head.
 1.26.76.1  01-Aug-2021  thorpej Sync with HEAD.

RSS XML Feed