summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2012-02-13 01:33:39 +0000
committermckusick <mckusick@FreeBSD.org>2012-02-13 01:33:39 +0000
commit80ea6de190c8b732ffca4edf07d1a680ad172b12 (patch)
treeaef169101848e12e422164938f431097dcfa83ec /sys/ufs
parent635374749a47561c45d92fddeb9c991a896ba2bd (diff)
downloadFreeBSD-src-80ea6de190c8b732ffca4edf07d1a680ad172b12.zip
FreeBSD-src-80ea6de190c8b732ffca4edf07d1a680ad172b12.tar.gz
Missing conditions in checking whether an inode has been written.
Found and tested by: Peter Holm MFC after: 2 weeks (to 9 only)
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 8204e0b..9639076 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -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);
OpenPOWER on IntegriCloud