Skip to content

s-d-adams/muxfs

Repository files navigation

The Multiplexed File System  
===========================

IMPORTANT
---------
DO NOT USE MUXFS TO STORE IMPORTANT DATA YET.  MUXFS IS CURRENTLY IN
DEVELOPMENT AND IS NOT READY FOR PRODUCTION USE.  IF AND WHEN MUXFS BECOMES
STABLE IT WILL BE INTENDED FOR LONG-TERM DATA STORAGE, HOWEVER USING MUXFS IN
ITS CURRENT FORM WILL LIKELY LEAD TO LOSS OF DATA.

Introduction
------------
muxfs is a mirroring, checksumming, and self-healing filesystem layer for
OpenBSD.  It mirrors a filesystem tree across a series of directories, and
employs checksum databases to validate and restore files automatically.

Installation
------------
	# make
	# make install

Usage
-----
muxfs has the following commands:

	muxfs format [-a checksum_algorithm] directory ...
	muxfs mount [-f] mount_point directory ...
	muxfs audit directory ...
	muxfs heal directory ...
	muxfs sync destination source ...
	muxfs version

Refer to the muxfs manual page for details.

Contributing
------------
Bug, usability, and performance reports may be sent to <muxfs@sdadams.org>.
Patches are welcome provided that their copyrights are assigned
to Stephen D. Adams.

If you want to read the code then I advise that you first look at GLOSSARY,
then muxfs.h before progressing to the rest of the code.

If you want to test a patch then I advise that you edit Makefile commenting out
the 'unity' target and uncommenting the 'incremental' target.  This should
produce clearer compiler error messages.

In addition to 'incremental' to run 'muxfs mount' under a debugger you will
need to edit the makefile commenting out the '-O2' CFLAGS line and uncommenting
the '-g' CFLAGS line, then pass the '-f' flag to 'muxfs mount' (see
'-f' from fuse_parse_cmdline(3) for more information).

Author
------
Stephen D. Adams <stephen@sdadams.org>