Next:
Contents
 
Contents
fakefs
Architecture & Development Plan
Zygo Blaxell
$Id: architecture.tex,v 1.4 2003/03/05 03:01:12 cvs Exp $
Contents
Status Of This Document
Overview
Disorganized List of Features
Where to get it
Support
Contributing
Goals
First Phase Goals
Backup Server
Second Phase Goals
`Transparent' or `Overlay' Filesystem
Quota Support
Variable-length Hashing
Non-Goals
Source Code Repository
Terminology
Files
Host Filesystem or Physical Filesystem
System Architecture
Database Operations
Metadata Operations
POSIX Metadata Operations
fakefs
Metadata Operations
Data Operations
POSIX Data Operations
fakefs
Data Operations
Berkeley DB: The Least of the Evil
DB: Database Babysitting
Running out of Space
If programmers built cars...
Interactions between Transaction and non-Transaction Environment
LD_PRELOAD
Hacking
Database Contents and Organization
Tactics
Physical Filesystem Requirements and Limitations
Non-Limitations
Directory Structure
db
log
data
data/main
data/plugins
blobs
Types
Inode (
I
)
Epoch (
E
)
Hash (
H
)
Stat (
S
)
Reference (
R
)
Tables
Ownership Tables
masters
slaves
clients
cache-closed
cache-open
Namespace Tables
roots
pie-in
ie-pin
Other Tables
freei
epochs
misc
Cache
inode
hash
File Insertion
Score Objects
Plan Objects
Representation Search
Configuration
fakefs.conf
configuration file
Non-Extensions
source
CONFIG
load
PLUGIN
plugin
PLUGIN
command...
umask
MASK
dirhash
DEPTH SIZE
paranoid
WHAT ON/OFF
paranoid storage
ON/OFF
paranoid retrieval
ON/OFF
paranoid duplicates
ON/OFF
Garbage Collection Policy
Garbage Collection Scheduling Policies
Resource-Demand Garbage Collection Scheduling
Interval Garbage Collection Scheduling
Manually Initiated Garbage Collection Scheduling
Garbage Collection Coverage Policies
Nothing is Garbage
Everything is Garbage
Only Superceded Inodes are Garbage
Hash Functions
hash algorithm
FUNCTION
hash length
LENGTH
File Transformation, Storage, and Retrieval
transform
ALGORITHM INPUT-TYPE OUTPUT-TYPE
endpoints
INPUT-TYPE OUTPUT-TYPE
storage
METHOD
Cache Configuration
cache directory
DIRECTORY
cache size
SIZE
Storage and Retrieval Methods
berkeley
file
External Reference
Transform Algorithms
zlib
and
bzlib
filter
Meta-Transform
Compression Filter Transforms
Encryption Filter Transforms
Delta Transforms
delta
Transform
Mux/Demux Transforms
Split Transform
fakedmd
: Database Manager Daemon
Startup Procedure
libfakefs
launches
fakedmd
fakedmd
acquires
fakefs
master exclusive lock
Berkeley DB Startup
Cache Startup
Plugin Startup
file
Storage Method Cleanup: Added Files
file
Storage Method Cleanup: Deleted Files
libfakefs
: Application Interface
LD_PRELOAD
File-Descriptor Juggling
fakefsd
: Database Proxy Server
fork
,
vfork
,
clone
,
pthread_create
, and Friends
rename
Optimization
What to do about
statfs
?
Complications of
fakefs
Proposals
fakefs-nfsd
: NFS Server
Garbage Collection
fakegcd
: Garbage Collector Daemon
Ownership of Data
FIXMEs
About this document ...
Zygo Blaxell 2003-03-04