[ENBD] 2.4.32 more weirdness
Peter T. Breuer
ptb at it.uc3m.es
Fri Mar 12 03:02:49 MST 2004
"Also sprach Anders Blomdell:"
> Tried raw devices, no hangs so far, but consistent 20% load during raid
> resync
OK - now found the serverside bug causing enbd-server to take cpu in
current 2.4.32pre.
In nbd/sem.c:
if (--sem->signals >= 0) {
- if (sem->err) {
+ if (!sem->err) {
while (read (sem->fd[1], &c, 1) == 0);
// PTB do nothing, already --éd
}
//sem->signals--;
return 1;
}
sem->signals++;
(it didn't ever drain the descriptor being used to signal that something has
happened, so a wait's select on the descriptor always succeeded and went
round to check the counter, only to find that the counter was not set,
and repeat ...).
That may cure some things.
Peter
More information about the ENBD
mailing list