[announce] Sharebox, a FUSE filesystem relying on git-annex

Christophe-Marie Duquesne chm.duquesne at gmail.com
Thu Mar 31 23:38:33 CEST 2011

On Thu, Mar 31, 2011 at 8:04 PM, Dieter Plaetinck <dieter at plaetinck.be> wrote:
> you also need to do various git/git-annex commands, or am I missing something?

Ideally, that would be only at set up time.

> I quite like dvcs-autosync, but it indeed lacks space-efficient storage of big files.
> I would like to try if we can use git-annex to support this in dvcs-autosync, although AFAIK git-annex is not transparent in the way regular git is transparent (i.e. it needs to explicitly copy files between locations), I assume this is the reason you need to go for a FUSE-based approach? or do you just prefer this over regular fs + inotify?

I don't really like FUSE, and I would actually prefer using inotify,
but I think it would not be transparent enough. I think a filesystem
is the right abstraction here.

> you actually tried coda? it's something I'm interested in, on paper it looks like an awesome, maybe-even-perfect open source dropbox-clone but the reality is probably different, I never tried it so I wouldn't know.

I did not try it, but I looked at the documentation. It is not purely
decentralized: some machines are servers, others are clients and the
roles stay the same (If I believe this page:

> hmm, writing files is i/o-bound, I doubt the language will have much effect here.
> check with top/vmstat if you get iowait, if so your storage medium is getting saturated and rewriting in C won't help. maybe a network/buffering/.. issue.

I'll have a look. Actually to come to this conclusion, I used the
loopback-fs provided by fusepy, which just mirrors another part of
your file system, and I timed the copy of an iso. This copy was 10
times slower than on a real fs (60 seconds instead of 6). I concluded
that this was due to python. I have about the same performance on my
filesystem. I'll complete the experiment tomorrow with fuse_xmp, which
is another fuse loopback-fs, but done in C.

> in your REAMDE you suggest to use a crontab for synchronisation; maybe you can reuse/be inspired by the xmpp system dvcs-autosync uses; it works quite well, it's quite robust and it's instant :)

Yes. I had a 'sync=xx' option, for specifying an interval time between
synchronisations, but I removed it for this very reason.

More information about the vcs-home mailing list