DragonFly commits List (threaded) for 2008-02
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/vfs/hammer hammer_object.c hammer_vnops.c
dillon 2008/02/24 11:48:45 PST
DragonFly src repository
Modified files:
sys/vfs/hammer hammer_object.c hammer_vnops.c
Log:
HAMMER 31A/many: File data size optimization
I've been meaning to do this for a while. When writing a data record for
the last block in a file, for example for small files, there is no need
to write out the entire 16K buffer. Just write out the actual number of
bytes of data to file EOF.
This results in *EXTREME* data compaction and very high performance when
manipulating small files. The smallest possible file requires two 96 byte
records (inode record and data record), two 64 byte B-Tree elements,
a 64 byte data element (the file data), and a 128 byte data element
(the inode structure), for a grand total of 512 bytes.
Revision Changes Path
1.34 +4 -1 src/sys/vfs/hammer/hammer_object.c
1.34 +17 -2 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.33&r2=1.34&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]