Home
Name Modified Size InfoDownloads / Week
readme.txt 2013-11-15 3.2 kB
filipkofron-kofs-86542eeadc74.zip 2013-11-12 50.1 kB
Totals: 2 Items   53.3 kB 0
	Copyright (C) 2013  Filip Kofron  filip.kofron.cz@gmail.com

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>

=KOFS Readme file=
==================

Content:
	1) Intro
	2) Status info, bugs
	3) How to obtain
	4) How to compile
	5) How to use


= 1) Intro =

	KOFS stands for KO file system (it's simply derived from my name, but it's not included)

	It's an implemetation of file system using the FUSE library to provide userspace execution.

	The main feature of this file system is the ability to distribute its data into multiple
	files. This allows the user to use programs such as Dropbox to efficiently synchronize any
	data like truecrypt images, large backups or virtual machine images.

	This file system was written by Filip Kofron, mostly on Nexus 7 Tablet while travelling
	by public transport.


= 2) Status info, bugs =

	As of now, the file system is capable of spreading over 256 files
	in each of 256 * 256 folders. These are constant inside the headers
	so it can be changed, though it must be compiled again.

Bugs:
	1) Ignored permissions and other file attributes.
	2) No symlinks or hardlinks support yet.
	3) Slow inode allocations, optimizations needed.
	4) Files across the file system are can be in a fixed location only.
	5) Hardcoded compile script.
	6) Only linux support yet.
	

= 3) How to obtain =

	The file system can be downloaded from https://bitbucket.org/filipkofron/kofs
	or pulled using mercurial from the same location.
	
	Such pull can be done like this:
		# mkdir kofs
		# cd kofs
		# hg init
		# hg pull https://bitbucket.org/filipkofron/kofs
		# hg update


=	4) How to compile =
	
	Compiling requires user to have fuse headers installed and standard gcc environment.

	Since the file system goes through drastic changes, the compilation can
	only be achived by running hardcoded script included.
	
		# bash compile.sh
	
	This will produce /tmp/kofs if all goes well.


=	5) How to use =

	To allocate files for the file system, you need to run following commands:
		
		# /tmp/kofs -d SIZE_IN_MiB DIRECTORY
		
	SIZE_IN_MiB = target size in mibi bytes (1024 * 1024 bytes each)
	DIRECTORY = target directory to store file system config and file's

	To format the filesystem do following (4096 bytes inodes are hardcoded now):
	
		# /tmp/kofs -f DIRECTORY
		
	DIRECTORY = directory with allocated file system
	
	To mount the file system:
	
		# /tmp/kofs DIRECTORY MOUNT_POINT
		
	DIRECTORY = allocated and formatted file system
	MOUNT_POINT = mount point
	
	To unmount the file system:
	
		# fusermount -u MOUNT_POINT
		
	MOUNT_POINT = location where the file system is currently mounted
	
Source: readme.txt, updated 2013-11-15