Seems like I found a yet another deadlock in the 2.4.x quota code, which is not unexpected. Generally speaking, filesystem operations may poke quota as a side effect, but quota itself has to call filesystem to update the quota file. The result is an invitation for deadlocks. The one I am talking about involved 3 (THREE) processes, forming a circle. Who could have thought that such things occur in real life outside of CS classes with their dining phylosophers :)
Quota was pretty buggy in all UNIX-es which I encountered, and Linux is strangely reliable in this area. Perhaps this lures users into thinking that quota is something that can actually be used.
BTW, quota in Linux bears the dubious distinction of the only piece of core code lifted wholesale from BSD by some Russian guy. I am wondering how BSD people manage their deadlock city.