CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/03/09 10:49:13
Modified files:
sys/ufs/ffs : ffs_softdep.c
Log message:
Avoid a tight CPU loop when no unlocked worklist items can be processed.
If process_worklist_item() is unable to process locked vnodes,
num_on_worklist will still be non-zero, preventing the loop in
softdep_process_worklist() from exiting. This can result in a
kernel hang.
To fix this, process_worklist_item() now returns non-zero if it was
able to process a worklist item (regardless of whether it matched
the mountpoint) and takes a pointer to matchcnt as a function
argument. We now break out of the loop in softdep_process_worklist()
if process_worklist_item() is unable to make progress.
OK beck@ bluhm@