Count in inode = 255??

utzoo!decvax!harpo!floyd!cmcl2!philabs!mcvax!ukc!pc utzoo!decvax!harpo!floyd!cmcl2!philabs!mcvax!ukc!pc
Mon Mar 14 10:14:32 AEST 1983


Well, I get this problem also - it goes along with a
	panic - iput
which may/may not happen. It does seem to be one of the problems
which occur when the wind is blowing from the west, the sun is
just rising and someone presses a key and something else happens....

It doesn't seem to be easily reproducible.....

However, if you look at the code - then the symptoms could be explained
by the closef routine being called twice and the interlocks
on the file table fails so that for a short time a file entry points
at a null inode!!! This seems to be implausible, but I get other
symptoms like sometimes the close routine in one of my device drivers 
doesn't get called.  (I suspect that it is tied up with some sort
of signal processing?????)

The problem seems to be that iput has a test
	icount == 1
and so if the count is zero, the inode is on the free
list. If there is a file entry still pointing at the inode
then the closef code for the could still
free inode list. One fix might be to to check whether the
count is >= 0 BUT this fixes the symptoms and is not a cure.
If there is a fix, please let me know.

Peter Collinson.
	lime!ukc!pc
	or
	{philabs|decvax}!mcvax!ukc!pc



More information about the Comp.bugs.4bsd.ucb-fixes mailing list