Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Apr 2011 03:49:53 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_softdep.c softdep.h
Message-ID:  <201104100350.p3A3o71e089505@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jeff        2011-04-10 03:49:53 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_softdep.c softdep.h 
  Log:
  SVN rev 220511 on 2011-04-10 03:49:53Z by jeff
  
  Fix a long standing SUJ performance problem:
  
   - Keep a hash of indirect blocks that have recently been freed and are
     still referenced in the journal.
   - Lookup blocks in this hash before forcing a new block write to wait on
     the journal entry to hit the disk.  This is only necessary to avoid
     confusion between old identities as indirects and new identities as
     file blocks.
   - Don't free jseg structures until the journal has written a record that
     invalidates it.  This keeps the indirect block information around for
     as long as is required to be safe.
   - Force an empty journal block write when required to flush out stale
     journal data that is simply waiting for the oldest valid sequence
     number to advance beyond it.
  
  Revision  Changes    Path
  1.273     +212 -56   src/sys/ufs/ffs/ffs_softdep.c
  1.26      +3 -1      src/sys/ufs/ffs/softdep.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104100350.p3A3o71e089505>