[tahoe-lafs-trac-stream] [tahoe-lafs] #1353: make the FUSE interface be a supported, first-class feature
tahoe-lafs
trac at tahoe-lafs.org
Tue Feb 22 17:12:14 PST 2011
#1353: make the FUSE interface be a supported, first-class feature
-------------------------------+--------------------------------------------
Reporter: zooko | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone: undecided
Component: documentation | Version: 1.8.2
Resolution: | Keywords: fuse docs
Launchpad Bug: |
-------------------------------+--------------------------------------------
Comment (by gdt):
My use of the word kludgy was unhelpful, and I'd like to apologize for it.
What I was trying to express is that to integrate tahoe into a VFS
interface (so that it appears as a native filesystem) requires mapping the
POSIX-ish VFS API to tahoe semantics. The sftp interface does a lot of
that, and it's particularly cool how the mutable/immutable divide is
bridged. Once you move from sftp client to VFS and think of VFS-based
access being the dominant paradigm, then you start thinking "how do I do
check" and "how do I get caps". The answer seems likely to include a
giant subroutine of "POSIX semantics are inadequate for distributed
filesystems based on capabilities, so the VFS interface needs to be
extended". Already we've seen a proposal to use extended attributes for
this, but perhaps new system calls are needed. Once there are extensions,
if there is a FUSE implementation, it needs to speak the new system calls
and implement them via the WAPI or by being part of the tahoe process.
With sftp, one would also need to extend the sftp/sftpd interface to
support the new semantics.
So, I'd like there to be a FS-independent check program, and one would say
{{{
check --repair foo
}}}
and that would do a system call which would get passed to the FUSE
implementation, and that would translate to how tahoe does things.
Someone using the FUSE module for some other massively distributed
filesystem could use the same command, and it would be translated
differently. Perhaps on regular disks it would result in reading all the
blocks to make sure they are there, and something similar could happen on
coda and nfs. Perhaps check/repair and lease renewal should be
combined, and perhaps not.
My other concern is that it doesn't currently seem possible to do the
equivalent of "tahoe mount tahoe: ~/TAHOE" with sftp - I've only reduced
it to a command that I then have to paste in a password. But I realize
this is a small matter of programming to remedy, and much easier than a
whole FUSE implementation.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1353#comment:7>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list