Author: jeff Date: Fri Nov 9 04:04:25 2012 New Revision: 242815 URL: http://svnweb.freebsd.org/changeset/base/242815
Log: - Correct rev 242734, segments can sometimes get stuck. Be a bit more defensive with segment state. Reported by: b. f. <bf1...@googlemail.com> Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Fri Nov 9 01:51:06 2012 (r242814) +++ head/sys/ufs/ffs/ffs_softdep.c Fri Nov 9 04:04:25 2012 (r242815) @@ -4291,13 +4291,16 @@ free_jsegs(jblocks) jblocks->jb_oldestseg = jseg; return; } + if ((jseg->js_state & ALLCOMPLETE) != ALLCOMPLETE) + break; if (jseg->js_seq > jblocks->jb_oldestwrseq) break; /* * We can free jsegs that didn't write entries when * oldestwrseq == js_seq. */ - if (jseg->js_cnt != 0) + if (jseg->js_seq == jblocks->jb_oldestwrseq && + jseg->js_cnt != 0) break; free_jseg(jseg, jblocks); } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"