[fuse-discuss] FUSE on Solaris kickoff meeting notes

Sarah Jelinek Sarah.Jelinek at Sun.COM
Fri Apr 7 10:16:26 PDT 2006


What:  FUSE on Solaris kickoff meeting:
Where: Confcall
When:  Thursday April 6th 2006
Who:   Sarah Jelinek
       Gerard J. Cerchio
       Csaba Henk
       Mark Phalan

1. Some introductions were made:
    Mark:   Engineer at Sun. Currently working on Kerberos.
            Chose FUSE as an interesting project to work on with Sarah
            as part of mentoring program.
    Sarah:  Staff Engineer at Sun. Has experience with Solaris Kernel,
            specifically Solaris filesystems (UFS, ZFS).
    Csaba:  Studied mathematics. Quite new to programming. Last summer
            suggested porting FUSE to FreeBSD as a Google Summer of
            Code project (which was done). Like to get to know Solaris
            better and participate in Solaris community.  
    Gerard: Consultant. Working with computers since the 70s. Charged
            by one of his customers to build a medical archival
            system. Found FUSE - natural fit. Would like to see it on
            Solaris. Currently reading up on VFS and trying to
            understand the FUSE code.

2. Some discussion about existing FUSE components:
        - Library (same library for both FreeBSD and Linux)
        - Linux kernel module
        - FreeBSD kernel module

3. Discussion about inode numbers and their persistance. Currently it
   is up to the filesystem to manage persistance of inodes.

4. Some talk about mmap(2). The Linux implementation of FUSE doesn't
   fully support mmap(2) (no shared writable) this is due to problems
   of deadlock. Currently the FreeBSD port supports them but it is
   unclear how safe it is there. Getting this right will probably be
   HARD.

5. Who has access to a Solaris machine? Gerard doesn't currently have
   it running. Gerard offered to make available machine(s) with static
   IP addresses - probably 1 Solaris/OpenSolaris and 1 FreeBSD.
   Subversion will be set up on one of the machines which will be used
   until opensolaris.org has hosting at which time we'll migrate.
   Solaris coding styles/rules should be followed.

6. Phase 1: Port whats already working on FreeBSD.
   Phase 2: Address issues such as mmap(2), inode numbers etc.

7. The current FreeBSD implementation of FUSE may be split up as
   follows:
        (A) Mount utility for Solaris.
                - Linux devices created on the fly
                - FreeBSD uses dev filesystem
                - Solaris will use devfs, clonable device family
                  /dev/fuse
        (B) Messaging system
                - Can be worked on independently
                - Some discussion about how messaging system works
                daemon <-> kernel
                - Messages have headers, message size determined at
                  mount time, ...
        (C) VFS
                - Probably biggest and most tricky part
                - Perhaps 1st version without buffered io
                - 2nd phase with buffering etc.
                - Basic ops are easy others more difficult

8. Allocation of tasks for Phase 1:
        - Csaba: Messaging
        - Mark, Sarah: VFS
        - Gerard: Porting of userspace libs, possibly build system,
          docs.
        - ???: Mount utility

9. www.opensolaris.org will act as the project center
        - Communication by email, irc.


Action Items:
=============

* Csaba: Create and send documentation. High level overview of how
          each part interacts with each other. The more documentation
          the better.
* Mark: Help Gerard get set up with OpenSolaris.
* Gerard: Setup machines and subversion.



More information about the fuse-discuss mailing list