joe@fluke.UUCP (Joe Kelsey) (02/19/85)
Index: sys/ufs_alloc.c 4.2BSD +FIX Description: In a similar posting, Jim McGinness <decvax!jmcg>, notes that if the file system becomes full or nearly full, a bug in the buffer locking protocol in alloccg and ialloccg will cause an eventual hung system due to a locked buffer eventually manifesting itself as a locked root inode. Unfortunately, he neglected to point out one more place to fix. Repeat-By: Fill up the file system, then wait a while. Fix: In ufs_alloc.c, function alloccg(), add the lines: if (bno < 0) +++ { +++ brelse(bp); return (NULL); +++ } Jim pointed two other places in alloccg that also need to be fixed, and one place in ialloccg. /Joe