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
_______________________________________________
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"

Reply via email to