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

Andriy Gapon avg at FreeBSD.org
Wed Jan 20 09:22:05 UTC 2016


On 19/01/2016 19:00, Alan Somers wrote:
> Author: asomers
> Date: Tue Jan 19 17:00:25 2016
> New Revision: 294329
> URL: https://svnweb.freebsd.org/changeset/base/294329
> 
> Log:
>   Disallow zvol-backed ZFS pools

What, again?...

>   Using zvols as backing devices for ZFS pools is fraught with panics and
>   deadlocks. For example, attempting to online a missing device in the
>   presence of a zvol can cause a panic when vdev_geom tastes the zvol.  Better
>   to completely disable vdev_geom from ever opening a zvol. The solution
>   relies on setting a thread-local variable during vdev_geom_open, and
>   returning EOPNOTSUPP during zvol_open if that thread-local variable is set.
>   
>   Remove the check for MUTEX_HELD(&zfsdev_state_lock) in zvol_open. Its intent
>   was to prevent a recursive mutex acquisition panic. However, the new check
>   for the thread-local variable also fixes that problem.
>   
>   Also, fix a panic in vdev_geom_taste_orphan. For an unknown reason, this
>   function was set to panic. But it can occur that a device disappears during
>   tasting, and it causes no problems to ignore this departure.
>   
>   Reviewed by:	delphij
>   MFC after:	1 week
>   Relnotes:	yes
>   Sponsored by:	Spectra Logic Corp
>   Differential Revision:	https://reviews.freebsd.org/D4986
> 



-- 
Andriy Gapon


More information about the svn-src-head mailing list