Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2.fluke 9/24/84; site fluke.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!houxm!vax135!cornell!uw-beaver!fluke!joe From: joe@fluke.UUCP (Joe Kelsey) Newsgroups: net.bugs.4bsd Subject: 4.2 hangs with locked root inode after full file system Message-ID: <2160@vax4.fluke.UUCP> Date: Tue, 19-Feb-85 12:33:10 EST Article-I.D.: vax4.2160 Posted: Tue Feb 19 12:33:10 1985 Date-Received: Fri, 22-Feb-85 08:16:00 EST Organization: John Fluke Mfg. Co., Inc., Everett, WA Lines: 26 Index: sys/ufs_alloc.c 4.2BSD +FIX Description: In a similar posting, Jim McGinness , 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