Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jan 2006 01:21:31 +0100 (CET)
From:      Ivan Voras <ivoras@fer.hr>
To:        hackers@freebsd.org
Cc:        current@freebsd.org
Subject:   A sort-of distributed filesystem
Message-ID:  <20060105005633.H36895@geri.cc.fer.hr>

next in thread | raw e-mail | index | archive | help
I've threatened several times to make a distributed filesystem (or 
something like it) using FUSE, so I found the time over the holiday and 
did it.

http://ivoras.sharanet.org/stuff/tdfs-r0.tgz

This is a FUSE (userland) filesystem that propagates write requests to a 
remote daemon, while implementing read (and fstat and the like) requests 
locally. In short, this implements single-writer-multiple-readers 
scenario, where on one machine the filesystem is both readable and 
writeable and on multiple others it's only readable. (Actually, it's 
also writeable there, but the changes are not propagated). It's not 
a complete new filesystem but acts on existing filesystems, like an 
overlay / stacked filesystem (it's completely independant of the underlying 
filesystem type, but it's not tested on msdosfs :) ). The idea is that 
this could be used for hot-backups, load balancing, etc.

This is only a proof of concept implementation, undertested and possibly 
with several bugs (I noticed late that timestamps are not always correctly 
propagated but will look into it tomorrow). To make it faster and possibly 
more robust for general usage it would have to be reimplemented in kernel.

It's developed and tested on FreeBSD 6-stable and is currently not 
very portable to other operating systems (except 7-current and up). FUSE 
libraries and kernel module are required for operation. Don't forget to 
load the fuse.ko module.

More information is provided in the README file so read it before trying 
to use it.

If anyone wants to contact me off-list, please use the address in the 
README file.


-- 
Preserve wildlife -- pickle a squirrel today!




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060105005633.H36895>