Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jun 2011 21:35:08 +0200
From:      "K. Macy" <kmacy@freebsd.org>
To:        gibbs@freebsd.org
Cc:        fs@freebsd.org
Subject:   Re: Drop of spa_namespace lock in vdev_geom.c
Message-ID:  <BANLkTimUNQg_9Y94FTZnijOU%2Bp=QK3JV3A@mail.gmail.com>
In-Reply-To: <4DF25544.3020301@FreeBSD.org>
References:  <4DF25544.3020301@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 10, 2011 at 7:32 PM, Justin T. Gibbs <gibbs@freebsd.org> wrote:
> Dropping and reacquiring the spa_namespace lock in vdev_geom_open()
> creates a lock order reversal with the spa_config locks. =A0As 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTimUNQg_9Y94FTZnijOU%2Bp=QK3JV3A>