[OpenAFS-devel] Cache inconsistency in client 1.4.8 and above

Felix Frank Felix.Frank@Desy.de
Fri, 17 Apr 2009 18:15:35 +0200 (CEST)


> I'm currently trying to home in on the reason for Derrik's antirecursion 
> patch still causing deadlock.

I think I found something:

  * @AOP_WRITEPAGE_ACTIVATE: Informs the caller that page writeback has
  *                          completed, that the page is still locked, and
  *                          should be considered active.  The VM uses this hint
  *                          to return the page to the active list -- it won't
  *                          be a candidate for writeback again in the near
  *                          future.  Other callers must be careful to unlock
  *                          the page if they get this return.  Returned by
  *                          writepage();

With antirecursion we return this, but happily unlock the page ourselves 
regardless.
The kernel rightfully attempts the same, which causes the panic. The fix 
is trivial.

My findings are not quite consistent, yet. I'll try and post a patch later
tonight.

Regards
Felix