PUFS Publisher's description
from J. Cameijo Cerdeira
PUFS is a poor man's na???ve distributed file system built on top of FUSE, hence running totally in user space.
PUFS - Peer Union File System - is a poor man's na???ve distributed file system built on top of FUSE, hence running totally in user space.
The project is distributed under the GPL license.
PUFS' philosophy is somewhat in line with a network grid paradigm in the form of a file system: its contents consists in a unified view of the directories exported by each peer and can become larger or smaller as these peers join or leave this "union".
It is designed to work best on LANs where multicast is readily available, allowing seamless peer auto-discovery and notification. It can also be used in unicast mode, but it this case all the contributing peers must be enumerated in advance.
The peers constitute a topological mesh where any peer is virtually connected to every other one, so that the unified file hierarchy will be the same all around, whichever node a snapshot is taken.
Since there's no central authority enforcing membership or maintaining connectivity status, peers are actually loosely bound to the "union" and can leave or join any time.
Changes in the file system, both data and metadata are reflected on a best effort basis. In particular, the most recently accessed metadata is typically cached and is considered valid throughout a configurable period of time, after which it is refreshed.
One the other hand, a failure or a downtime in one node will be reflected in PUFS by the disappearance of the segment or top directory exported by that very peer.
PUFS is an almost POSIX compliant file system with the current exception of of both symbolic and hard links which are lacking.
File locking, both mandatory and advisory, is also missing due to a limitation in FUSE which doesn't dispatch fcntl(2) calls to the applications.
PUFS setting up is simple, just throw in a bunch of cooperating peers and you can have instantly a distributed file system up and running. This simplicity comes, however, with a price: despite a limited support for replication, PU
What's New in This Release:??? corrected a bug that could cause a user buffer to be written past the end in a read operation specifying a size noncongruent with the buffer size.
??? added a command line option to enable the use of direct io explicitly. disabling direct io causes double buffering to occur since the kernel will als
Program Release Status: Minor Update
Program Install Support: Install and Uninstall