svn commit: r314273 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys

Andriy Gapon avg at FreeBSD.org
Sat Feb 25 16:50:47 UTC 2017


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


More information about the svn-src-head mailing list