Drop of spa_namespace lock in vdev_geom.c

K. Macy kmacy at freebsd.org
Fri Jun 10 20:05:44 UTC 2011


On Fri, Jun 10, 2011 at 7:32 PM, Justin T. Gibbs <gibbs at freebsd.org> wrote:
> Dropping and reacquiring the spa_namespace lock in vdev_geom_open()
> creates a lock order reversal with the spa_config locks.  As the
> spa_config locks are not standard mutexes, witness will not warn
> about this issue.

The real problem is that WITNESS is disabled on the sx locks used for
mutex compatibility in ZFS. This questionable decision has made
debugging deadlocks quite painful on a number of occasions. I think
this choice should be revisited and perhaps special workaround shims
added for cases where cv_wait is called.

-Kip


More information about the freebsd-fs mailing list