[OpenAFS-devel] deadlock on linux-2.4

Pavel Semerad semerad@ss1000.ms.mff.cuni.cz
Wed, 5 Jun 2002 17:49:52 +0200


> >   I have found more info and created a temorary hack, which fixes it,
> > but it will not be probably the correct solution.
> 
> Thanks for tracking this down.  As you point out, we shouldn't obtain
> vcache locks while holding any dcache locks, due to lock ordering.
> The right solution is probably to delay calling afs_ProcessFS() until
> after we've released the dcache entries; can you try the patch below
> and see if it works for you?

  It's OK. Tested on UP machine. I cannot test it on SMP now.
> 
> > I don't know why other architectures are OK, may be it is not possible
> > to call afs_StoreAllSegment and afs_UFSRead together on them.
> 
> I suspect other architectures also have the same bug.  Note that this
> only affects the development branch (the dcache locking code has only
> been added recently), which is probably why this bug hasn't been seen
> by others yet.

  I have older version on other architectures, this is why it worked :-)
> 
> -- kolya
> 
Pavel