DragonFly commits List (threaded) for 2008-02
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sbin/hammer hammer_util.h ondisk.c src/sbin/newfs_hammer newfs_hammer.c src/sys/vfs/hammer hammer.h hammer_blockmap.c hammer_disk.h hammer_freemap.c hammer_vfsops.c
dillon 2008/02/19 16:55:51 PST
DragonFly src repository
Modified files:
sbin/hammer hammer_util.h ondisk.c
sbin/newfs_hammer newfs_hammer.c
sys/vfs/hammer hammer.h hammer_blockmap.c hammer_disk.h
hammer_freemap.c hammer_vfsops.c
Log:
HAMMER 29/many: Work on the blockmap, implement the freemap.
* Split the blockmap structure into a blockmap header (in the volume header),
layer1, and layer2 structure. The layer1 structure is 32 bytes, the
layer2 structure is 16 bytes.
Layer1: 262144 32-byte entries (18 bits)
Layer2: 524288 16-byte entries (19 bits)
Bigblock: 23 bits
----------------------------------
Total: 60 bits (1 MTB == 1024 Petabytes)
* Start working on the allocation cycler, but it isn't finished yet.
* Implement the freemap. The freemap is basically a special-cased blockmap.
The top 8 bits of Layer1 are used as a volume identifier. A physical
offset can be looked up via freemap and the layer2 entry will indicate
which virtual offset it has been mapped to. This will allow us to
reallocate blocks when contracting the size of a volume (or if we desire
to reallocate the block generally).
Revision Changes Path
1.10 +8 -2 src/sbin/hammer/hammer_util.h
1.12 +217 -51 src/sbin/hammer/ondisk.c
1.19 +34 -15 src/sbin/newfs_hammer/newfs_hammer.c
1.38 +5 -2 src/sys/vfs/hammer/hammer.h
1.3 +154 -59 src/sys/vfs/hammer/hammer_blockmap.c
1.24 +82 -31 src/sys/vfs/hammer/hammer_disk.h
1.2 +131 -9 src/sys/vfs/hammer/hammer_freemap.c
1.20 +1 -26 src/sys/vfs/hammer/hammer_vfsops.c
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/hammer_util.h.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/hammer/ondisk.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/newfs_hammer/newfs_hammer.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.37&r2=1.38&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_freemap.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.19&r2=1.20&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]