cvs commit: src/sbin/hammer Makefile buffer_alist.c cache.c hammer.c hammer.h hammer_util.h ondisk.c super_alist.c src/sbin/newfs_hammer Makefile buffer_alist.c newfs_hammer.c newfs_hammer.h ondisk.c super_alist.c src/sys/vfs/hammer hammer.h ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Jan 2 22:49:48 PST 2008
dillon 2008/01/02 22:48:49 PST
DragonFly src repository
Modified files:
sbin/hammer Makefile buffer_alist.c hammer.c
hammer_util.h ondisk.c super_alist.c
sbin/newfs_hammer Makefile newfs_hammer.c newfs_hammer.h
sys/vfs/hammer hammer.h hammer_alist.c hammer_alist.h
hammer_btree.c hammer_cursor.c
hammer_inode.c hammer_io.c
hammer_object.c hammer_ondisk.c
hammer_vnops.c
Added files:
sbin/hammer cache.c hammer.h
Removed files:
sbin/newfs_hammer buffer_alist.c ondisk.c super_alist.c
Log:
HAMMER 15/many - user utility infrastructure, refactor alists, misc
* Abstract out userland access to HAMMER's on-disk structures in
preparation for more userland work.
* Clean up compiler warnings.
* Refactor the A-list recursion API. Use another bit code (10) to indicate
the all-allocated & initialized state, verses an all-allocated &
uninitialized state.
This allows an all-empty flag to propogate up the chain properly which
in turn allows us to avoid flushing out dirty backing store for freed
disk blocks and will eventually lead to freeing typed buffers back to
the cluster's master a-list.
* Fix an edge case in the B-Tree code related to running out of space
during an insertion search. If the insertion search ran out of space
at a cluster boundary the spike code asserted because the parent B-Tree
node wasn't in the same cluster as the node it thought it had to spike.
(The root B-Tree node of a cluster cannot be spiked).
* Use a second cache pointer in the in-memory structure for directory
inodes. The second cache will be used for inode lookups relative to
the directory and will (eventually) greatly reduce the B-Tree search
overhead required to stat directory elements.
Revision Changes Path
1.2 +7 -2 src/sbin/hammer/Makefile
1.3 +20 -21 src/sbin/hammer/buffer_alist.c
1.2 +20 -22 src/sbin/hammer/hammer.c
1.4 +65 -32 src/sbin/hammer/hammer_util.h
1.7 +321 -56 src/sbin/hammer/ondisk.c
1.4 +20 -11 src/sbin/hammer/super_alist.c
1.3 +8 -5 src/sbin/newfs_hammer/Makefile
1.12 +8 -56 src/sbin/newfs_hammer/newfs_hammer.c
1.4 +1 -104 src/sbin/newfs_hammer/newfs_hammer.h
1.19 +8 -7 src/sys/vfs/hammer/hammer.h
1.6 +93 -66 src/sys/vfs/hammer/hammer_alist.c
1.3 +14 -3 src/sys/vfs/hammer/hammer_alist.h
1.16 +39 -21 src/sys/vfs/hammer/hammer_btree.c
1.10 +51 -41 src/sys/vfs/hammer/hammer_cursor.c
1.17 +15 -14 src/sys/vfs/hammer/hammer_inode.c
1.12 +41 -1 src/sys/vfs/hammer/hammer_io.c
1.15 +6 -5 src/sys/vfs/hammer/hammer_object.c
1.16 +116 -68 src/sys/vfs/hammer/hammer_ondisk.c
1.16 +14 -12 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/Makefile.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/buffer_alist.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer_util.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/ondisk.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/super_alist.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/Makefile.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_alist.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_alist.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.15&r2=1.16&f=u
More information about the Commits
mailing list