: :Portal FS did give me a couple of starting points.. It looks interesting. :Just for my own clarification... how would this be different than NFS :(specifically local NFS)? : :-- :David Cross | email: cro...@cs.rpi.edu :Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd
NFS isn't a fun protocol to implement. I'd implement a user-level filesystem interface protocol like this: * Have a device similar to portal that a user process can open for the server interface. * Have the ability to mount the 'client side' of the device once the 'server side' has been opened by the user process. * VOP Requests through the mount point are routed to the user process and responses returned. * Device driver handles auto termination of any pending commands if the user process close()'s the server side interface. * User process uses read() and write() to read request structures and write back response structures. (Thus the user process can use select() if it wishes). The request structure can contain a data pointer & length. If the device is passing a read or write request to the user level server, it mmap's the data block into the server's address space prior to queueing the command and unmaps it after receiving the response. It would be really cool if someone were to write something like this. I don't think it would be terribly difficult except for the mmap() piece. -Matt Matthew Dillon <dil...@backplane.com> To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message