Over the past few months, I've been working on the /dev/fd file system
("fdescfs").  After weeks of occasionally-hacking and putting it off, I've
finalized a patch for fdescfs.

  What this patch changes:
  + fdesc_allocvp() becomes curproc-free as a `struct proc' pointer is passed
    as the new fourth parameter.
  + All usage of the `DTYPE' open file type macros are removed.  Anything
    whose fo_stat() operation does not return proper fdesc information is
    broken.  The checks for DTYPE_VNODE (for determining whether setattr()
    will do anything) are replaced by getvnode() so that if the method for
    determining a vnode from a file entry changes, (hopefully) that's the
    only place it will happen.

   There is one loose end I'm not sure I know just how to tie up yet.  I'm
having trouble modifying src/sys/kern/sys_pipe.c:pipe_stat() to return the
right st_mode flags based on various conditions.  I'd appreciate it if
someone else who knows about the pipe code could point me in the right
direction as to what conditions permit reading and what conditions permit
writing (and what makes them fail).

   The patch is available at
     http://people.FreeBSD.org/~chris/fdesc-dtype.patch,

   Documentation for it is available at
     http://people.FreeBSD.org/~chris/fdesc/
    all in one page:
     http://people.FreeBSD.org/~chris/fdesc/article.html

|Chris Costello <[EMAIL PROTECTED]>
|Press [ESC] to detonate or any other key to explode.
`----------------------------------------------------


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to