simple log-structured filesystem implementation for xv6
C Assembly Shell Perl
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
Makefile
README
README.xv6
asm.h
bio.c
bootasm.S
bootmain.c
bootother.S
cat.c
console.c
data.S
defs.h
dot-bochsrc
echo.c
elf.h
exec.c
fcntl.h
file.c
file.h
forktest.c
fs.c
fs.h
gdbutil
grep.c
ide.c
init.c
initcode.S
ioapic.c
kalloc.c
kbd.c
kbd.h
kill.c
lapic.c
lfstest.c
ln.c
ls.c
main.c
mkdir.c
mkfs.c
mmu.h
mp.c
mp.h
multiboot.S
param.h
picirq.c
pipe.c
pr.pl
printf.c
proc.c
proc.h
rm.c
runoff
runoff.list
runoff.spec
runoff1
sh.c
sign.pl
spinlock.c
spinlock.h
stat.h
stressfs.c
string.c
swtch.S
syscall.c
syscall.h
sysfile.c
sysproc.c
test10mb
timer.c
toc.ftr
toc.hdr
trap.c
trapasm.S
traps.h
types.h
uart.c
ulib.c
umalloc.c
user.h
usertests.c
usys.S
vectors.pl
vm.c
wc.c
x86.h
zombie.c

README

An implementation of a log-structured filesystem into xv6.
Jon Morton, 2011.

current limitations:
        - only one inode per block. this greatly simplifies the imap.
        - the imap can only be one block long.
        - writing to inodes cannot extend into indirect levels.

implementation order, as time allows:
        [x] mkfs
        [x] read-only lfs
        [x] segment writing
        [ ] segment cleaning

(original xv6 readme is in README.xv6)