DragonFly commits List (threaded) for 2008-05
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/conf files src/sbin/hammer cmd_show.c cycle.c hammer_util.h ondisk.c src/sbin/newfs_hammer newfs_hammer.c src/sys/vfs/hammer hammer.h hammer_btree.c hammer_btree.h hammer_cursor.c hammer_cursor.h hammer_disk.h hammer_inode.c ...
dillon 2008/05/12 14:17:18 PDT
DragonFly src repository
Modified files:
sys/conf files
sbin/hammer cmd_show.c cycle.c hammer_util.h ondisk.c
sbin/newfs_hammer newfs_hammer.c
sys/vfs/hammer hammer.h hammer_btree.c hammer_btree.h
hammer_cursor.c hammer_cursor.h
hammer_disk.h hammer_inode.c
hammer_ioctl.c hammer_object.c
hammer_ondisk.c hammer_reblock.c
hammer_subs.c hammer_vnops.c
Added files:
sys/vfs/hammer hammer_prune.c
Log:
HAMMER 43/Many: Remove records from the media format, plus other stuff
* Get rid of hammer_record_ondisk. As HAMMER has evolved the need for
a separate record structure has devolved into trivialities. Originally
the idea was to have B-Tree nodes referencing records and data. The
B-Tree elements were originally intended to be throw-away and the on-media
records were originally intended to be the official representation of
the data and contained additional meta-information such as the obj_id
of a directory entry and a few additional fields related to the inode.
But once the UNDO code went in and it became obvious that the B-Tree needed
to be tracked (undo-wise) along with everything else, the need for an
official representation of the record as a separate media structure
essentially disappeared.
Move the directory-record meta-data into the directory-entry data and move
the inode-record meta-data into the inode-record data. As a single
exception move the atime field to the B-Tree element itself (it replaces
what used to be the record offset), in order to continue to allow atime
updates to occur without requiring record rewrites. With these changes
records are no longer needed at all, so remove the on-media record structure
and all the related code.
* The removal of the on-media record structure also greatly improves
performance.
* B-Tree elements are now the official on-media record.
* Fix a race in the extraction of the root of the B-Tree.
* Clean up the in-memory record handling API. Instead of having to
construct B-Tree leaf elements we can simply embed one in the in-memory
record structure (struct hammer_record), and in the inode.
Revision Changes Path
1.216 +1 -0 src/sys/conf/files
1.9 +9 -34 src/sbin/hammer/cmd_show.c
1.2 +1 -1 src/sbin/hammer/cycle.c
1.15 +3 -2 src/sbin/hammer/hammer_util.h
1.19 +12 -20 src/sbin/hammer/ondisk.c
1.25 +24 -29 src/sbin/newfs_hammer/newfs_hammer.c
1.64 +12 -67 src/sys/vfs/hammer/hammer.h
1.46 +18 -41 src/sys/vfs/hammer/hammer_btree.c
1.14 +6 -4 src/sys/vfs/hammer/hammer_btree.h
1.25 +12 -1 src/sys/vfs/hammer/hammer_cursor.c
1.18 +4 -2 src/sys/vfs/hammer/hammer_cursor.h
1.32 +45 -132 src/sys/vfs/hammer/hammer_disk.h
1.55 +64 -72 src/sys/vfs/hammer/hammer_inode.c
1.17 +2 -321 src/sys/vfs/hammer/hammer_ioctl.c
1.57 +125 -274 src/sys/vfs/hammer/hammer_object.c
1.42 +5 -2 src/sys/vfs/hammer/hammer_ondisk.c
1.14 +1 -109 src/sys/vfs/hammer/hammer_reblock.c
1.19 +0 -10 src/sys/vfs/hammer/hammer_subs.c
1.52 +79 -83 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.215&r2=1.216&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/cmd_show.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/cycle.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer_util.h.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/ondisk.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.63&r2=1.64&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.h.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.h.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.54&r2=1.55&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.56&r2=1.57&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_reblock.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_subs.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.51&r2=1.52&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]