Date: Wed, 28 Apr 2010 07:57:37 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r207310 - head/sys/ufs/ffs Message-ID: <201004280757.o3S7vbkc066389@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jeff Date: Wed Apr 28 07:57:37 2010 New Revision: 207310 URL: http://svn.freebsd.org/changeset/base/207310 Log: - When canceling jaddrefs they may not yet be in the journal if this is via a revert call. In this case don't attempt to remove something that has not yet been added. Otherwise this jaddref must hang around to prevent the bitmap write as normal. Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Wed Apr 28 07:26:41 2010 (r207309) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Apr 28 07:57:37 2010 (r207310) @@ -3504,7 +3504,8 @@ cancel_jaddref(jaddref, inodedep, wkhd) WORKLIST_INSERT(wkhd, &jsegdep->jd_list); } else { free_jsegdep(jsegdep); - remove_from_journal(&jaddref->ja_list); + if (jaddref->ja_state & DEPCOMPLETE) + remove_from_journal(&jaddref->ja_list); } /* * Leave NEWBLOCK jaddrefs on the inodedep so handle_workitem_remove
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004280757.o3S7vbkc066389>