[e-lang] E and FUSE-j integration

Kevin Reid kpreid at mac.com
Wed Sep 26 13:23:28 EDT 2007


On Sep 26, 2007, at 12:51, Toby Murray wrote:
> On Wed, 2007-09-26 at 09:20 -0400, Kevin Reid wrote:
>> On Sep 26, 2007, at 7:11, Toby Murray wrote:
>>> File operations on the filesystem would be implemented using E
>>> remote method invocations.
>>
>> There are two possible kinds of systems here:
>>    (a) present a filesystem layout which can express any E message.
>>    (b) expect the remote ref to implement a filesystem protocol.
>>
>> (b) is more generally useful and can be used to imp
>
> (b) is what I had in mind. (The sentence seems to have been cut off  
> prematurely btw.)

...can be used to implement (a).

(I sent the message incompletely edited; I also forgot to not quote  
the entire definition of Filesystem3.)

> The calling thread is then the FUSE event loop, right?

I would assume so. I don't know how FUSE works, but that it has an  
event loop makes sense.

> How does the E implementation prevent races between the calling  
> (FUSE) thread and the thread that's running the E vat? Or is this a  
> non-issue for some other reason?

I don't understand where a relevant race would arise. The FUSE thread  
is either blocked waiting for a single response, or idle in its event  
loop; in either case, no *other* computation happening in the E  
thread has any potential effect upon the FUSE thread.

> Hence, one might be able to assume that the FUSE-j implementation  
> of the Linux  FUSE protocol could be compatible with the MacFUSE  
> protocol. In which case, FUSE-j might run as well on top of MacFUSE  
> as it does on Linux FUSE.

I did a bit of searching and apparently it does or did work with  
trivial patches.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list