]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Record physical path information in ZFS Vdevs
authorasomers <asomers@FreeBSD.org>
Mon, 11 Jan 2016 17:57:26 +0000 (17:57 +0000)
committerasomers <asomers@FreeBSD.org>
Mon, 11 Jan 2016 17:57:26 +0000 (17:57 +0000)
commit67600cfd1825b6580f379321f66f080f540a2e82
tree45b3b9296d7fe31dce48d3c69ea18eba41fe43e4
parentec292c556bb552a175deddc106f55fa0195d9c46
Record physical path information in ZFS Vdevs

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:
If available, record the physical path of a vdev in ZFS meta-data.
Do this both when opening the vdev, and when receiving an attribute
change notification from GEOM.

Make vdev_geom_close() synchronous instead of deferring its work to
a GEOM event handler. There is no benefit to deferring the work and
this prevents a future open call from referencing a consumer that is
scheduled for destruction. The close followed by an immediate open
will occur during a vdev reprobe triggered by any type of I/O error.

Consolidate vdev_geom_close() and vdev_geom_detach() into
vdev_geom_close() and vdev_geom_close_locked(). This also moves the
cross linking operations between vdev and GEOM consumer into a
single place (linking in vdev_geom_attach() and unlinking in
vdev_geom_close_locked()).

Submitted by: gibbs, asomers
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D4524
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c