cvs commit: src/sys/conf files src/sbin/newfs_hammer newfs_hammer.c src/sys/vfs/hammer Makefile hammer.h hammer_btree.c hammer_btree.h hammer_cursor.c hammer_cursor.h hammer_disk.h hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Nov 18 16:55:46 PST 2007
dillon 2007/11/18 16:53:40 PST
DragonFly src repository
Modified files:
sys/conf files
sbin/newfs_hammer newfs_hammer.c
sys/vfs/hammer Makefile hammer.h hammer_btree.c
hammer_btree.h hammer_disk.h
hammer_inode.c hammer_io.c
hammer_object.c hammer_ondisk.c
hammer_subs.c hammer_transaction.c
hammer_vfsops.c hammer_vnops.c
Added files:
sys/vfs/hammer hammer_cursor.c hammer_cursor.h
Log:
HAMMER 3/many - more core infrastructure.
* Add an in-memory B-Tree node abstraction
* Add an in-memory record abstraction.
* Put the B-Tree cursor code in its own source file.
* Fill in more of the VOP code.
* Do a major clean-up of all in-memory structures and some on-disk
structures. All the major in-memory structures now use similarly
named functions.
* Move inter-cluster link from a B-Tree leaf node to a B-Tree internal
node, giving us a left and right boundary to play with. This simplifies
the algorithms by quite a bit.
* Allow the B-Tree to be unbalanced by moving the sub-type from the B-Tree
node header to the B-Tree element structure.
* Revamp the I/O infrastructure, in particular allow B-Tree nodes to be
held passively.
* Implement a flexible B-Tree node cache. References into the B-Tree can
be cached by inodes. If the related buffer is flushed by the system, the
related cache pointers will be cleared.
Revision Changes Path
1.195 +1 -0 src/sys/conf/files
1.6 +17 -12 src/sbin/newfs_hammer/newfs_hammer.c
1.4 +2 -2 src/sys/vfs/hammer/Makefile
1.6 +227 -61 src/sys/vfs/hammer/hammer.h
1.4 +959 -1057 src/sys/vfs/hammer/hammer_btree.c
1.5 +109 -178 src/sys/vfs/hammer/hammer_btree.h
1.6 +30 -15 src/sys/vfs/hammer/hammer_disk.h
1.4 +168 -68 src/sys/vfs/hammer/hammer_inode.c
1.2 +51 -10 src/sys/vfs/hammer/hammer_io.c
1.2 +150 -11 src/sys/vfs/hammer/hammer_object.c
1.4 +797 -254 src/sys/vfs/hammer/hammer_ondisk.c
1.3 +83 -20 src/sys/vfs/hammer/hammer_subs.c
1.2 +2 -2 src/sys/vfs/hammer/hammer_transaction.c
1.4 +1 -1 src/sys/vfs/hammer/hammer_vfsops.c
1.3 +497 -145 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.194&r2=1.195&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/Makefile.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_subs.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.2&r2=1.3&f=u
More information about the Commits
mailing list