VFS locking & HFS problems (2.4.6pre6)

Benjamin Herrenschmidt (benh@kernel.crashing.org)
Fri, 29 Jun 2001 17:09:42 +0200


I've had a deadlock twice with 2.4.6pre6 today. It's an SMP kernel
running on an UP box (a PowerBook Pismo).

The deadlock happen in the HFS filesystem in hfs_cat_put(), apparently
(quickly looking at addresses) in spin_lock().

I don't have the complete backtrace at hand right now, but it basically
went up to kswapd without anything evidently getting that spinlock,
I'll try to gather more details.

So my question: Is there any document explaining the various locking
requirements & re-entrency possibilities in a filesystem.

What I think might happen after a quick look is that HFS may be causing
schedule() to be called while holding the spinlock, and gets then
re-entered from another process context. I have to look at it in more
detail (is there an HFS maintainer ?) but some background informations
on VFS locking & reentrancy issues would be helpful.

Ben.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/