[OpenAFS-devel] callback handling problem
Thomas Mueller
thomas.mueller@hrz.tu-chemnitz.de
Thu, 31 Jan 2002 17:16:43 +0100 (MET)
Hi folks,
we still have the problem which I reported last October.
I now can say what happens but I have no idea why it happens.
Occasionally the fileserver ends up with all threads running an infinite
loop in GetSomeSpace_r() in viced/callback.c (do { ... } while (i < 2);)
If
h_Enumerate_r(lih_r, (char*)hp1);
finds at least one host which passes all test in lih_r(...)
then
ClearHostCallbacks_r(hp, 0)
is called, but this function returns immediately (return value 1)
if this host entry is locked and the next round in this loop starts.
So if hostList contains only a few (sometimes only one) entries
with host->cblist != 0 AND those entries are locked this thread keeps in
that do-while-loop.
Do you think, it would be a solution to modify lih_r() a little bit so
that it doesnt pick up locked host entries?
Thomas.
--
-------------------------------------------------------------------------
Thomas Mueller, TU Chemnitz, Universitaetsrechenzentrum, D-09107 Chemnitz
e-mail: Thomas.Mueller@hrz.tu-chemnitz.de
-------------------------------------------------------------------------