4.2 hangs with locked root inode after full file system
Joe Kelsey
joe at fluke.UUCP
Wed Feb 20 03:33:10 AEST 1985
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
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list