[tahoe-dev] FUSE and Tahoe
rob kinninmont
robk-tahoe at allmydata.com
Thu Oct 2 16:47:13 PDT 2008
On Oct 3, 2008, at 12:15 AM, Brian Warner wrote:
> When I looked at FUSE a long while back (at least 4 years ago), I
> remember
> they were just making the transition from the blocking one-request-
> at-a-time
> simple-code lots-of-threads model to a more sophisticated
> operation-id+callback event-driven system. In the subsequent python
> bindings,
> it was never clear to me which form you'd get access to. It sounds
> like
> they aren't entirely clear on this issue either :).
the fuse_main stuff dispatches your handler functions on various
threads. (I'm pretty sure that there's a 'single threaded' alternative
but I think that's strictly less functional, just safer)
having poked my head under the covers of Armin's pyfuse stuff, I think
the operation id business is how the actual fuse requests come over
the fuse socket into user space, and hence it's the fuse_main parts of
libfuse that are decoding that into the 'simpler' form.
> PS: your dirnode caching strategy sounds excellent. I'm working on
> an FTP
> server right now, and will probably wind up with something similar.
Code re-use is our friend! Let's aim for the *same* rather than
'similar', if we can. I'm in no way opposed to revision / refinement
of those parts of the fuse code base, it's basically just an in-memory
object model for encapsulating tahoe files and folders (webapi backed,
in this case).
I'd really like to see this code more twisted-oriented, and whether it
makes sense to switch to foolscap in preference to webapi, or even
something crazy like putting that sort of caching layer inside the
tahoe node itself, I'd like it to be flexible and generally useful :-)
cheers,
rob
More information about the tahoe-dev
mailing list