freebsd-nq/sys/miscfs
Chris Costello 38edb6a32f Adapt fdesc to be mounted on /dev/fd and remove fd, stdin, stdout and
stderr nodes.  More specific items of this patch:
  o Removed support for symbolic links, and the need for
    fdesc_readlink().
  o Put all the code from fdesc_attr() into fdesc_getattr() and removed
    fdesc_attr().  This also made it easier to properly give all nodes
    unique inode numbers.
  o The removal of all non-fd nodes allowed the removal of the fdesc_read(),
    fdesc_write(), and fdesc_ioctl() nodes, since we no longer have nodes
    that get special handling.
  o Correct the component name validity-checking in fdesc_lookup().  It
    previously detected the end of the string by checking for a terminating
    NUL, now it uses cnp->cn_namelen.
  o Handle kqueue files as FIFOs.  This is probably the closest file type
    to represent this type of file there is, and it is unfortunately not
    very representative of a kqueue.  Creation time is not supported by
    kqueue, so ctime, mtime and atime are all set to the current time when
    getattr() was called.
  o Also set st_[mca]time to the current time since there's no data in
    socket structures that can be used to fill this in (FIFOs).
  o Simplify fdesc_readdir() since it only has to report the numbered
    fd nodes.  Add `.' and `..' directory links as well.
  o Remove read bits from directories as they tend to confuse programs
    like tar(1).

Reviewed by:	phk
Discussed with:	bde (earlier on, not quite review)
2000-05-11 22:10:51 +00:00
..
deadfs Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
devfs Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
fdesc Adapt fdesc to be mounted on /dev/fd and remove fd, stdin, stdout and 2000-05-11 22:10:51 +00:00
fifofs Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
kernfs Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
nullfs Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
portal Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
procfs Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
specfs Change the "bdev-whiner" to whine when open is attempted and extend 2000-05-09 18:53:57 +00:00
umapfs Remove unneeded #include <vm/vm_zone.h> 2000-04-30 18:52:11 +00:00
union Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00