freebsd-skq/sys/ufs
kib 2f486f25b6 Fix livelock that could occur when snapshoting UFS with quotas, where
some quota limit was exceeded. Sequence of UFS_VALLOC()/UFS_VFREE()
call there could cause inodeblock to have both freefile and inodedep
dependencies without any inode in the block being marked for write.
Then, softdep_check_suspend() would return EAGAIN forewer.

Force write of inodeblock with allocated freefile softdependency by
setting IN_MODIFIED flag in softdep_freefile and unconditionally calling
UFS_UPDATE() in ufs_reclaim.

Reported by:	kris
Debug help and tested by: 	Peter Holm
Approved by:	re (kensmith)
MFC after:	3 weeks
2007-06-22 13:22:37 +00:00
..
ffs Fix livelock that could occur when snapshoting UFS with quotas, where 2007-06-22 13:22:37 +00:00
ufs Fix livelock that could occur when snapshoting UFS with quotas, where 2007-06-22 13:22:37 +00:00