cvs commit: src/sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.c hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c hammer_spike.c hammer_subs.c hammer_transaction.c hammer_vnops.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Dec 30 00:50:44 PST 2007
dillon 2007/12/30 00:49:20 PST
DragonFly src repository
Modified files:
sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.c
hammer_inode.c hammer_io.c
hammer_object.c hammer_ondisk.c
hammer_spike.c hammer_subs.c
hammer_transaction.c hammer_vnops.c
Log:
HAMMER 12/many - buffer cache sync, buffer cache interactions, misc fixes.
As of this commit all vnops work, the filesystem remains consistent across
umount/remount, and the 'cpdup / /mnt/root' test succeeds. There is still
a ton of work to do but this is a major milestone.
* Get sync and umount working properly. Properly sync out in-memory records
and inode updates, and properly release buffer cache buffers so the
kernel can throw them away.
* Modifications to buffers backed by the buffer cache ensure that any
asynchronous writes complete to avoid a modify-write race.
* Fix miscellanious reference counting bugs.
* Fix two insertion bugs for internal B-Tree nodes that were causing the
code to blow up.
Revision Changes Path
1.16 +57 -2 src/sys/vfs/hammer/hammer.h
1.13 +51 -22 src/sys/vfs/hammer/hammer_btree.c
1.8 +6 -0 src/sys/vfs/hammer/hammer_cursor.c
1.14 +8 -6 src/sys/vfs/hammer/hammer_inode.c
1.9 +80 -31 src/sys/vfs/hammer/hammer_io.c
1.12 +17 -11 src/sys/vfs/hammer/hammer_object.c
1.13 +121 -105 src/sys/vfs/hammer/hammer_ondisk.c
1.3 +4 -2 src/sys/vfs/hammer/hammer_spike.c
1.8 +4 -2 src/sys/vfs/hammer/hammer_subs.c
1.5 +4 -2 src/sys/vfs/hammer/hammer_transaction.c
1.12 +9 -0 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_spike.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_subs.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.11&r2=1.12&f=u
More information about the Commits
mailing list