svn commit: r231572 - head/sys/ufs/ffs

Kirk McKusick mckusick at FreeBSD.org
Mon Feb 13 01:33:40 UTC 2012


Author: mckusick
Date: Mon Feb 13 01:33:39 2012
New Revision: 231572
URL: http://svn.freebsd.org/changeset/base/231572

Log:
  Missing conditions in checking whether an inode has been written.
  
  Found and tested by: Peter Holm
  MFC after:           2 weeks (to 9 only)

Modified:
  head/sys/ufs/ffs/ffs_softdep.c

Modified: head/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- head/sys/ufs/ffs/ffs_softdep.c	Mon Feb 13 00:28:41 2012	(r231571)
+++ head/sys/ufs/ffs/ffs_softdep.c	Mon Feb 13 01:33:39 2012	(r231572)
@@ -7161,13 +7161,16 @@ check_inode_unwritten(inodedep)
 	mtx_assert(&lk, MA_OWNED);
 
 	if ((inodedep->id_state & (DEPCOMPLETE | UNLINKED)) != 0 ||
+	    !LIST_EMPTY(&inodedep->id_dirremhd) ||
 	    !LIST_EMPTY(&inodedep->id_pendinghd) ||
 	    !LIST_EMPTY(&inodedep->id_bufwait) ||
 	    !LIST_EMPTY(&inodedep->id_inowait) ||
+	    !TAILQ_EMPTY(&inodedep->id_inoreflst) ||
 	    !TAILQ_EMPTY(&inodedep->id_inoupdt) ||
 	    !TAILQ_EMPTY(&inodedep->id_newinoupdt) ||
 	    !TAILQ_EMPTY(&inodedep->id_extupdt) ||
 	    !TAILQ_EMPTY(&inodedep->id_newextupdt) ||
+	    !TAILQ_EMPTY(&inodedep->id_freeblklst) ||
 	    inodedep->id_mkdiradd != NULL || 
 	    inodedep->id_nlinkdelta != 0)
 		return (0);


More information about the svn-src-all mailing list