]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Adapt fdesc to be mounted on /dev/fd and remove fd, stdin, stdout and
authorChris Costello <chris@FreeBSD.org>
Thu, 11 May 2000 22:10:51 +0000 (22:10 +0000)
committerChris Costello <chris@FreeBSD.org>
Thu, 11 May 2000 22:10:51 +0000 (22:10 +0000)
commit38edb6a32f19a96b004d3a499691ef1e146d3cfa
treee0ab766bcf2539e6319210ed3c5a12e97ca232d2
parent040fac0bbda0a202e85de7f400d5b3178bc9b8f0
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)
sys/fs/fdescfs/fdesc.h
sys/fs/fdescfs/fdesc_vnops.c
sys/miscfs/fdesc/fdesc.h
sys/miscfs/fdesc/fdesc_vnops.c