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>