DragonFly BSD
DragonFly users List (threaded) for 2009-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: addressing data on Very large disks


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 8 Oct 2009 08:12:20 -0700 (PDT)

:Hi,
:
:How are data blocks on a very large disk addressed in hammer. I guess
:double-indirect blocks wont be sufficient?
:
:Thanks
:
:--Siju

    HAMMER addresses disk blocks via its B-Tree.  Basically
    (disk-offset, bytes) (though in actuality it is a bit more
    complicated then that).  The disk offset is a 64-bit byte
    offset.

    Theoretically any non-overlapping set of extents will work,
    and the read() code can actually deal with it.  Write()s
    and history mechanics get complex if I do that though so
    currently HAMMER only uses 16K and 64K block sizes.  It
    also packs small files down in multiples of 64 bytes.

    I have contemplated putting some direct references in the inode
    to reduce the overhead of accessing small files but it's kinda
    messy to do because the history mechanics are based on the
    B-Tree elements.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]