summaryrefslogtreecommitdiffstats
path: root/crypto/openssh
diff options
context:
space:
mode:
authorasomers <asomers@FreeBSD.org>2016-01-19 17:00:25 +0000
committerasomers <asomers@FreeBSD.org>2016-01-19 17:00:25 +0000
commit5127f80e63d0d5eeabc1b096e19d41fc98aa83fa (patch)
treead487037ec17ef92706df2a4069bac1dc8e6d935 /crypto/openssh
parent14172c52f89fa504003826ed2e4e2c0ac246505d (diff)
downloadFreeBSD-src-5127f80e63d0d5eeabc1b096e19d41fc98aa83fa.zip
FreeBSD-src-5127f80e63d0d5eeabc1b096e19d41fc98aa83fa.tar.gz
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
Diffstat (limited to 'crypto/openssh')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud