home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds
- From: torvalds@klaava.Helsinki.FI (Linus Torvalds)
- Subject: IMPORTANT [BUG in 0.99] Re: [ANNOUNCE]: linux version 0.99
- Message-ID: <1992Dec14.192204.16359@klaava.Helsinki.FI>
- Keywords: kernel linux 0.99
- Organization: University of Helsinki
- References: <1992Dec13.193812.6958@tc.cornell.edu> <1992Dec14.172729.9675@tc.cornell.edu> <1992Dec14.174625.1102@galileo.cc.rochester.edu>
- Date: Mon, 14 Dec 1992 19:22:04 GMT
- Lines: 52
-
- Simple but important bug-fixes follow. Please check them out if you
- have had problems with 0.99.
-
- In article <1992Dec14.174625.1102@galileo.cc.rochester.edu> ctne_ltd@uhura.cc.rochester.edu (Chris Newbold) writes:
- >
- >Okay. I posted a note this morning about not being able to get 0.99 to boot.
- >Well, I solved that problem... Just my own stupidity. *BUT*, I may have a
- >bug to report here.
- >
- >I also posted another note about X locking up perodically (Subject was
- >[BUG REPORT] swapping trouble ?!?). Now that I am running 0.99, the kernel
- >manages to keep limping when X locks up--enough for syslogd to spit out what
- >happens: I get a whole bunch of "No free inodes -- contact Linus" messages.
-
- Good. I added code to handle the "out of inode" error more gracefully,
- and it seems to have found the error pretty efficiently (well, I
- suspected it already, which is why I wrote the code in the first place,
- but now it's confirmed). Consider me contacted.
-
- Sadly, the "out of inode" code has a silly bug that can lead to kernel
- panics at bootup: the 'inode_wait' wait-queue is not correctly
- initialized to NULL, so people booting from floppy may get bad values
- here. So here are a couple of fixes for 0.99 - unofficial, but I would
- like to hear if there are still problems after these:
-
- 1) in linux/fs/inode.c, at the start, change
-
- static struct wait_queue * inode_wait;
-
- to
-
- static struct wait_queue * inode_wait = NULL;
-
- 2) in linux/include/linux/fs.h, double the value of NR_INODE (to 256),
- ie change
-
- #define NR_INODE 128
-
- to
-
- #define NR_INODE 256
-
- and see if that is enough (it really should be: NR_FILE is 128, so the
- above value for NR_INODE should leave plenty of inodes for things like
- executables etc). Hopefully you won't get the "No free inodes" problem
- any more.
-
- Note that I'll have to make the number of inodes dynamic, but I won't do
- so for 1.0, as the changes would be big enough to be bug-prone. 1.0
- need not be perfect, but I hope it will be stable.
-
- Linus
-