- Use the correct flag mask when determining whether an inode has

successfully made it to the free list yet or not.  This fixes
   a deadlock that can occur with unlinked but referenced files.
   Journal space and inodedeps were not correctly reclaimed because
   the inode block was not left dirty.

Tested/Reported by:	lwindschuh@googlemail.com
This commit is contained in:
Jeff Roberson 2010-05-07 08:20:56 +00:00
parent c1f98960a3
commit 2c3ae115b6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=207741

View File

@ -9301,7 +9301,7 @@ handle_written_inodeblock(inodedep, bp)
hadchanges = 1;
}
/* Leave this inodeblock dirty until it's in the list. */
if ((inodedep->id_state & (UNLINKED | DEPCOMPLETE)) == UNLINKED)
if ((inodedep->id_state & (UNLINKED | UNLINKONLIST)) == UNLINKED)
hadchanges = 1;
/*
* If we had to rollback the inode allocation because of