svn commit: r286985 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Fri Aug 21 08:34:33 UTC 2015
On 21/08/2015 11:17, Andriy Gapon wrote:
> Author: avg
> Date: Fri Aug 21 08:17:44 2015
> New Revision: 286985
> URL: https://svnweb.freebsd.org/changeset/base/286985
>
> Log:
> try to fix lor between z_teardown_lock and spa_namespace_lock
>
> The lock order reversal and a resulting deadlock were introduced
> in r285021 / D2865. The problem is that zfs_register_callbacks() calls
> dsl_prop_get_integer() that has to acquire spa_namespace_lock.
> At the same time, spa_config_sync() is called with spa_namespace_lock
> held and then it performs ZFS vnode operations that acquire
> z_teardown_lock in the reader mode.
>
> So, fix the problem by using dsl_prop_get_int_ds() instead of
> dsl_prop_get_integer(). The former does not need to look up
> the pool and the dataset by name.
>
> Reported by: many
> Reviewed by: delphij
> Tested by: delphij, Jens Schweikhardt <schweikh at schweikhardt.net>
> MFC after: 5 days
> X-MFC with: r285021
Differential Revision: https://reviews.freebsd.org/D3281
--
Andriy Gapon
More information about the svn-src-all
mailing list