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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104100350.p3A3o71e089505>
