Move checks for provider's sectorsize and mediasize into a single location
in vdev_geom_attach. Remove the zfs::vdev::taste class; it's ok to use the
regular vdev class for tasting. Consolidate guid checks into a single
location in vdev_attach_ok. Consolidate some error handling code from
vdev_geom_attach into vdev_geom_detach, closing a resource leak of geom
consumers in the process.
Details
ZFS test suite
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I declare a timeout on the CR. But by all means feel free to criticize it post-commit.
In general I like this change very much as the code becomes safer and more readable.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c | ||
---|---|---|
285 ↗ | (On Diff #15253) | Could it happen that the acr was incremented by somebody else and we really shouldn't decrement the access bits? |
293 ↗ | (On Diff #15253) | Just curious, in what case this condition could be false? |
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c | ||
---|---|---|
318 ↗ | (On Diff #15253) | This assertion isn't always true in the case of spare vdevs, where two vdevs can share a consumer. I'll remove it. When I commit the change that turns cp->private into a linked list I'll restore a similar assertion. |
Apply avg's comments. Remove a tautological assertion, remove an incorrect
assertion, and fix some theoretical null pointer dereferences in
vdev_geom_detach when vfs.zfs.debug=1.