Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jan 2016 12:08:48 -0500
From:      Kurt Lidl <lidl@pix.net>
To:        Alan Somers <asomers@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r294329 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Message-ID:  <569E6DA0.9010300@pix.net>
In-Reply-To: <201601191700.u0JH0P6k061610@repo.freebsd.org>
References:  <201601191700.u0JH0P6k061610@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Removing the ability to run different zpools on top of a zvol is
a significant reduction in functionality of the entire system, and a 
huge violation of the POLA.

At the very least, can you not add a sysctl that allows the
dangerous behavior (even if it defaults to off)?  Myself
and certainly others rely on having being able to use a zpool
installed into a zvol for hosting bhyve virtual machines.

I've managed to deadlock the system when experimenting with this,
but for the normal course of operations, it works just fine.

-Kurt

On 1/19/16 12:00 PM, 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
>
>    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
>
> Modified:
>    head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
>    head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
>    head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
>    head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c

[diff truncated]





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569E6DA0.9010300>