DragonFly commits List (threaded) for 2008-03
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/conf files src/sys/vfs/hammer Makefile hammer.h hammer_blockmap.c hammer_btree.c hammer_disk.h hammer_ioctl.c hammer_ioctl.h hammer_object.c hammer_ondisk.c hammer_reblock.c hammer_recover.c hammer_undo.c hammer_vfsops.c ...
dillon 2008/03/17 22:19:16 PDT
DragonFly src repository
Modified files:
sys/conf files
sys/vfs/hammer Makefile hammer.h hammer_blockmap.c
hammer_btree.c hammer_disk.h
hammer_ioctl.c hammer_ioctl.h
hammer_object.c hammer_ondisk.c
hammer_recover.c hammer_vfsops.c
hammer_vnops.c
Added files:
sys/vfs/hammer hammer_reblock.c hammer_undo.c
Log:
HAMMER 32/many: Record holes, initial undo API, initial reblocking code
* Add code to record recent 'holes' created by the blockmap allocator
due to the requirement that data blocks not cross a 16K hammer buffer
boundary, in order to try to fill in the gaps with smaller chunks of data
when possible.
Currently a hole is not added for blockmap frees. It is questionable
whether it is a good idea to do it for frees or not, because it can
interfere with the reblock code's attempt to completely free a big block.
* Add a reblocking ioctl which scans the B-Tree and reblocks leaf nodes,
records, and data in partially empty big blocks to try to free up
the entire big block. Incomplete (needs to reblock internal B-Tree nodes
and doesn't yet, needs a low-free-space mode which focuses on freeing
a single large block).
* Add the API infrastructure required to implement the undo records,
and implement the initial undo code (sans ordering requirements for
writes). Incomplete.
Revision Changes Path
1.209 +2 -0 src/sys/conf/files
1.9 +2 -1 src/sys/vfs/hammer/Makefile
1.40 +63 -4 src/sys/vfs/hammer/hammer.h
1.6 +191 -12 src/sys/vfs/hammer/hammer_blockmap.c
1.32 +19 -16 src/sys/vfs/hammer/hammer_btree.c
1.26 +38 -12 src/sys/vfs/hammer/hammer_disk.h
1.5 +6 -2 src/sys/vfs/hammer/hammer_ioctl.c
1.4 +25 -0 src/sys/vfs/hammer/hammer_ioctl.h
1.35 +2 -2 src/sys/vfs/hammer/hammer_object.c
1.33 +37 -328 src/sys/vfs/hammer/hammer_ondisk.c
1.9 +1 -1 src/sys/vfs/hammer/hammer_recover.c
1.22 +6 -0 src/sys/vfs/hammer/hammer_vfsops.c
1.35 +2 -2 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.208&r2=1.209&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/Makefile.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_recover.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.34&r2=1.35&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]