DragonFly commits List (threaded) for 2012-03
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: hammer2 hammer2 - Implelment variable-sized physical storage allocations
commit 866d527342ae32a12e2795bbb238165e2d97da21
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Mon Mar 19 10:38:53 2012 -0700
hammer2 - Implelment variable-sized physical storage allocations
* The physical block which straddles the file EOF now only allocates
the nearest power of two >= 1024 bytes sufficient to hold the file.
Note that files <= 512 bytes still fit in the inode embedded data area.
This results in much, much better packing of small files.
* Remove most restrictions on logical/physical size mismatches.
This also opens the door in the future for variable-sized indirect blocks.
* The strategy read code is now a lot smarter on optimizing to a direct-read.
(direct writes are still not supported yet). The code should also be
more readable now.
* Rewrite the file truncation/extension code to use the new
hammer2_chain_resize() function.
* Correct several bugs in the buffer offset calculations when pulling 16K
logical buffers out of 64K physical buffers.
Summary of changes:
sys/vfs/hammer2/TODO | 6 +
sys/vfs/hammer2/donew | 5 +
sys/vfs/hammer2/dossd | 11 ++
sys/vfs/hammer2/hammer2.h | 5 +-
sys/vfs/hammer2/hammer2_chain.c | 168 ++++++++++++++++++++++-
sys/vfs/hammer2/hammer2_disk.h | 10 +-
sys/vfs/hammer2/hammer2_inode.c | 13 ++
sys/vfs/hammer2/hammer2_vnops.c | 278 +++++++++++++++++++++++++--------------
8 files changed, 386 insertions(+), 110 deletions(-)
create mode 100755 sys/vfs/hammer2/donew
create mode 100755 sys/vfs/hammer2/dossd
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/866d527342ae32a12e2795bbb238165e2d97da21
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]