Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Feb 2017 18:49:47 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org
Subject:   Re: svn commit: r314273 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Message-ID:  <4ee5dd9d-a72e-f21b-ebac-b13dd8b45439@FreeBSD.org>
In-Reply-To: <201702251645.v1PGjrNP036632@repo.freebsd.org>
References:  <201702251645.v1PGjrNP036632@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 25/02/2017 18:45, Andriy Gapon wrote:
> Author: avg
> Date: Sat Feb 25 16:45:53 2017
> New Revision: 314273
> URL: https://svnweb.freebsd.org/changeset/base/314273
> 
> Log:
>   zfs: call spa_deadman on a taskqueue thread
>   
>   callout(9) prohibits callout functions from sleeping.
>   illumos mutexes are emulated using sx(9).
>   spa_deadman() calls vdev_deadman() and the latter acquires vq_lock.
>   
>   As a result we can get a more confusing panic instead of a specific
>   panic or no panic:
>   sleepq_add: td 0xfffff80019669960 to sleep on wchan 0xfffff8001cff4d88 with sleeping prohibited
>   
>   This change adds another level of indirection where the deadman
>   callout schedules spa_deadman() to be executed on taskqueue_thread.
>   
>   While there, use callout_schedule(0 instead of callout_reset()
>   in spa_sync().
>   
>   Discussed with:	mav
>   MFC after:	1 week
>   Differential Revision: https://reviews.freebsd.org/D9762

Sponsored by:	Panzura

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4ee5dd9d-a72e-f21b-ebac-b13dd8b45439>