[tahoe-dev] s/FTP frontend?

Brian Warner warner at lothar.com
Thu Jan 14 19:09:38 PST 2010


Jody Harris wrote:
> Okay: with the FTP front-end enabled, can we use the FUSE ftp module?

Yes, that ought to work. I don't know if it will perform as well as you
might like, since that puts like three layers in between your apps and
your data, but it's worth a try. I seem to recall that we had fairly
good success with an OS-X *sftp* FUSE module, at least as of a year ago
when I used it last. And OS-X can do read-only mounts of FTP servers
directly, without FUSE, which was part of our motivation for getting
Tahoe's FTP server running.

One disappointment you might run into is that making small changes to a
file will still require the whole thing to be downloaded, modifed, and
then uploaded again. I don't know if it's even possible to "open" a file
in an editing application from an FTP/SFTP FUSE mount, although the
module might be smart enough to copy the file to a local holding area
and let the application work on the cached copy.

You might also run into some limitations of tahoe's FTP server: it
doesn't implement all of the extensions that modern servers provide, and
sometimes the FUSE modules use those to improve performance.

However, as FUSE access paths go, using FTP or SFTP is probably a better
"impedance match" for Tahoe than some other possibilities, because both
protocols (mostly) deal in terms of whole files, instead of small
read()/write() calls on random portions of a file. Tahoe's
immutable-centric approach doesn't play so well with the normal POSIX
open/seek/read/write/close APIs, so some FUSE bindings that assume a
more mutable backend will spend a lot of time and bandwidth caching
things.

In any case, please let us know what you learn!

cheers,
 -Brian


More information about the tahoe-dev mailing list