userland VFS (was Re: vinum?)

Matthew Dillon dillon at
Mon Sep 13 18:13:44 PDT 2004

:FWIW, I'm currently planning to write a userland callout for the file
:system so that I can prototype file systems in userland.  If anybody's
:interested in following up on this one, please contact me.  It
:obviously doesn't belong on this thread.

    We're planning that too, but some major VFS work is in the pipeline
    first in order to get rid of all the ludicrous vnode locking that
    the VOP interface requires and to be able to break down I/O's for the
    XIO interface while still retaining operation atomicy.

    Basically, apart from all the other VFS changes which already make
    ours fairly incompatible with FreeBSD, the next VFS stage I will
    be working on is to use the namecache structure to deal with namespace
    locking [replacing locked vnodes that are currently used for that
    purpose], and the stage after that will replace locked vnodes for
    data operation atomicy with range locks on vnodes for data operation
    atomicy, and replace UIO's (user context relative pointers) with
    XIO's (vm_page arrays).

    Other things have to happen too... e.g. vnode creation and destruction 
    has to occur in a kernel layer instead of a VFS layer.

    But once all of that is done it will be possible to safely convert
    VOPs into stream operations without causing the system to lock itself
    to death.  I really want to move less important FS's, such as CD9660,
    NTFS, etc. into userland, or at least make it possible for them to be
    run in userland.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list