Drop of spa_namespace lock in vdev_geom.c

Pawel Jakub Dawidek pjd at FreeBSD.org
Mon Jun 13 20:20:40 UTC 2011

On Fri, Jun 10, 2011 at 09:35:08PM +0200, K. Macy wrote:
> 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.

WITNESS is disabled only if you are compiling ZFS without debug. This
was done because of huge number of false-positive LOR reports from
users. If you are developing ZFS you should have debug turned on anyway.

I had a patch for additional sx-creation flag to tell witness that we
don't want LOR reports, but we still want to track the lock itself, but
there were no agreement among people I talked to about that, so it never
went in.

Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://yomoli.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110613/a4ad3f96/attachment.pgp

More information about the freebsd-fs mailing list