cvs commit: src/sys/vfs/hammer hammer_object.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Feb 24 11:49:26 PST 2008


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





More information about the Commits mailing list