Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
simple log-structured filesystem implementation for xv6
C Assembly Shell Perl
branch: master
Failed to load latest commit information.
.gitignore add to gitignore
Makefile make iupdate not always balloc a new block. Add lfstest program.
README modify readme.
README.xv6 Finish mkfs. Update readme.
asm.h initial commit
bio.c make iupdate not always balloc a new block. Add lfstest program.
bootasm.S initial commit
bootmain.c initial commit
bootother.S initial commit
cat.c initial commit
console.c cprintf supports %u
data.S initial commit
defs.h Superblock structure is now cached and only flushed to disk after a f…
dot-bochsrc initial commit
echo.c initial commit
elf.h initial commit
exec.c Change block size to 512 bytes to prevent memory problems with xv6's …
fcntl.h initial commit
file.c initial commit
file.h initial commit
forktest.c initial commit
fs.c make iupdate not always balloc a new block. Add lfstest program.
fs.h Abandon hybrid bio.c model. Block writing now uses block cache entire…
gdbutil initial commit
grep.c initial commit
ide.c add block to sector conversion to bio/ide to support variable block size
init.c initial commit
initcode.S initial commit
ioapic.c initial commit
kalloc.c initial commit
kbd.c initial commit
kbd.h
kill.c initial commit
lapic.c initial commit
lfstest.c finish LFS test code.
ln.c initial commit
ls.c initial commit
main.c initial commit
mkdir.c initial commit
mkfs.c change locking in bwrite. mkfs now makes the disk image with a lot of…
mmu.h initial commit
mp.c initial commit
mp.h initial commit
multiboot.S initial commit
param.h initial commit
picirq.c initial commit
pipe.c initial commit
pr.pl initial commit
printf.c initial commit
proc.c initial commit
proc.h initial commit
rm.c initial commit
runoff initial commit
runoff.list initial commit
runoff.spec initial commit
runoff1 initial commit
sh.c initial commit
sign.pl initial commit
spinlock.c initial commit
spinlock.h initial commit
stat.h initial commit
stressfs.c initial commit
string.c initial commit
swtch.S initial commit
syscall.c initial commit
syscall.h initial commit
sysfile.c initial commit
sysproc.c initial commit
test10mb add test10mb file. Make readsb a global function.
timer.c initial commit
toc.ftr initial commit
toc.hdr initial commit
trap.c initial commit
trapasm.S initial commit
traps.h initial commit
types.h initial commit
uart.c initial commit
ulib.c initial commit
umalloc.c initial commit
user.h initial commit
usertests.c initial commit
usys.S initial commit
vectors.pl initial commit
vm.c initial commit
wc.c initial commit
x86.h initial commit
zombie.c initial commit

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)

Something went wrong with that request. Please try again.