From owner-freebsd-current Wed Sep 13 20:12:53 2000 Delivered-To: freebsd-current@freebsd.org Received: from dei.calldei.com (dei.calldei.com [205.179.37.1]) by hub.freebsd.org (Postfix) with ESMTP id 54EFB37B422; Wed, 13 Sep 2000 20:12:49 -0700 (PDT) Received: (from chris@localhost) by dei.calldei.com (8.9.3/8.9.0) id UAA22657; Wed, 13 Sep 2000 20:12:48 -0700 (PDT) Date: Wed, 13 Sep 2000 20:12:48 -0700 (PDT) From: Chris Costello Message-Id: <200009140312.UAA22657@dei.calldei.com> To: hackers@FreeBSD.org Subject: Fdescfs updates--coming to a devfs near you! Cc: current@FreeBSD.org Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 |Press [ESC] to detonate or any other key to explode. `---------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message