24 Oct 2002 Zaitcev   » (Master)

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.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!