HAMMER changes in HEAD, also needs testing

Matthew Dillon dillon at apollo.backplane.com
Sat Jun 20 21:28:06 PDT 2009


    I've made some fairly straightforward changes to HAMMER in HEAD, but
    they need testing.

    * Inode numbers are now allocated to maintain linearity with the
      directory scan order, when possible.  Note however that this
      optimization breaks if a file is created under a temporary name
      and then renamed.

      This should significantly improve cpdup, tar, cpio, ls, and find.
      The optimization only applies to newly created directory trees,
      existing trees cannot be reoptimized since their inode numbers
      have already been assigned.

    * Hints can now be passed to the block allocator.  The B-Tree code
      now uses them to try to keep internal nodes more localized.  The
      block allocator also now leaves a bit of empty space at the end
      of the big-block for localized B-Tree expansion room.

    I also made a minor change to cpdup to not use temporary filenames
    when doing a fresh copy (when the target file does not exist).  To test
    HAMMER with cpdup you need the new cpdup.  The old cpdup always creates
    a temporary file and then rename()'s and that unfortunately breaks the
    optimization that HAMMER makes to order the inode numbers.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Kernel mailing list