git: HAMMER VFS - More cluster_read() fixes
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Sat Aug 21 21:32:57 PDT 2010
    
    
  
commit b7de8aa5d2a719f4270304c8e45d7b24e169ffe0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Aug 21 21:20:04 2010 -0700
    HAMMER VFS - More cluster_read() fixes
    
    * The recent cluster limiting code was improperly using raw block device
      offsets to calculate the largeblock mask used to prevent clustered I/Os
      from crossing a large-block boundary.
    
      raw block device offsets are not necessarily largeblock aligned, so
      this calculation failed to properly limit cluster_read()s and the
      result was an occassional clustered read would cross-over into an
      incompatible largeblock and later cause an overlapping buffer panic.
    
    * Calculate the proper limit in the hammer_ondisk.c module and refactor
      hammer_io_read().
    
    Reported-by: swildner
Summary of changes:
 sys/vfs/hammer/hammer.h        |    3 +-
 sys/vfs/hammer/hammer_io.c     |   65 +++++----------------------------------
 sys/vfs/hammer/hammer_ondisk.c |   23 +++++++++++++-
 3 files changed, 31 insertions(+), 60 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b7de8aa5d2a719f4270304c8e45d7b24e169ffe0
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list