Date: Sun, 24 Jan 2016 06:35:22 -0800 From: Cy Schubert <cschuber@gmail.com> To: Julian Elischer <julian@freebsd.org>, Shawn Webb <shawn.webb@hardenedbsd.org>, Alan Somers <asomers@FreeBSD.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Xin LI <delphij@delphij.net>, "cy.schubert@cschubert.com" <cy.schubert@cschubert.com> Subject: RE: svn commit: r294329 - inhead/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys Message-ID: <56a4e129.a98b420a.ebf8f.ffffe225@mx.google.com>
next in thread | raw e-mail | index | archive | help
A previous email in this thread said that a sysctl will be committed before= MFC. I personally have never encountered this particular problem. Sent from my cellphone, ~Cy -----Original Message----- From: Julian Elischer Sent: 24/01/2016 06:20 To: Shawn Webb; Alan Somers Cc: src-committers@freebsd.org; svn-src-all@freebsd.org; svn-src-head@freeb= sd.org; Xin LI Subject: Re: svn commit: r294329 - inhead/sys/cddl/contrib/opensolaris/uts/= common/fs/zfs: . sys On 24/01/2016 10:13 PM, Shawn Webb wrote: > On Tue, Jan 19, 2016 at 05:00:25PM +0000, 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 >> =20 >> Using zvols as backing devices for ZFS pools is fraught with panics a= nd >> 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 solutio= n >> relies on setting a thread-local variable during vdev_geom_open, and >> returning EOPNOTSUPP during zvol_open if that thread-local variable i= s set. >> =20 >> 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. >> =20 >> Also, fix a panic in vdev_geom_taste_orphan. For an unknown reason, t= his >> function was set to panic. But it can occur that a device disappears = during >> tasting, and it causes no problems to ignore this departure. >> =20 >> Reviewed by: delphij >> MFC after: 1 week >> Relnotes: yes >> Sponsored by: Spectra Logic Corp >> Differential Revision: https://reviews.freebsd.org/D4986 > I've just been bit by this pretty hard. I have a bhyve VM that's backed > by a zvol. The VM is running root-on-zfs. I wrote some experimental code > that's now preventing the VM from booting (kernel panic due to userland > change). Since I can't import the pool, I have no way of fixing the > problem. > > I'm probably just going to go revert this commit locally on my box so I > can get some work done. I use an md device to do this in bhyve but I was considering using a zvol. Populating it in the host system and then presenting it to the VM as a=20 disk. maybe it could be enabled with a sysctl? Is the problem always present? > > Thanks, >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56a4e129.a98b420a.ebf8f.ffffe225>