Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jul 1999 00:26:25 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "David E. Cross" <crossd@cs.rpi.edu>
Cc:        "Brian F. Feldman" <green@FreeBSD.ORG>, "David E. Cross" <crossd@cs.rpi.edu>, freebsd-hackers@FreeBSD.ORG, crossd@cs.rpi.edu
Subject:   Re: USFS (User Space File System) 
Message-ID:  <199907190726.AAA94470@apollo.backplane.com>
References:   <199907190620.CAA00750@cs.rpi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
:
: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: crossd@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 
					<dillon@backplane.com>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907190726.AAA94470>