In Solaris only the high-level FUSE API from version 2.7.4 is present. Solaris 
FUSE uses header files ported from Linux and the implementation is 
Solaris-specifc. It is 'just' a wrapper over libuvfs. UVFS is the Solaris 
equivalent of FUSE. Kernel-userspace communication in UVFS is via door calls 
and a pseudo filesystem.

Cheers
-Jiri

Od: Zdenek Bouska:
Hello,

>> Interface choice
>> ----------------
>> 2) Low level API (fuse_lowlevel.h)
>> - just like any other filesystem in HelenOS
>> - vfs_out_ops_t and libfs_ops_t functions are almost directly
>> calling fuse_lowlevel_ops functions
>> - Reply (fuse_reply_*) is stored in req (fuse_req_t).
>> - fuse_path_ops from FUSe library could be used for high level api.
>> - simplified readonly prototype:
>> https://code.launchpad.net/~zdenek-bouska/helenos/fuse
>
> In my opinion this is a reasonable pragmatic solution. I believe that
> this layer is also used by other FUSE implementations (FUSE for Mac OS
> X, FUSE for FreeBSD, FUSE for Solaris), or am I mistaken?

I don't think it is. FreeBSD and OpenBSD is supported by libfuse 2.9.0.
Fuse for Mac OS X [1] uses patched version of libfuse 2.9.0.
Only FUSE for Solaris version I found [2] has last commit from 2009.

From looking to sources it looks to me like all of these library ports communicaticate with kernel using similar interface as Linux = some device file descriptor (/dev/fuse).


Zdenek Bouska

[1] https://github.com/osxfuse/osxfuse
[2] http://hub.opensolaris.org/bin/view/Project+fuse/

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel




_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to