Z.I.A. disk open/close rework #2
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reworked how Z.I.A. opens and closes
disks when changing parameters, specifically
zia_provider and zia_disk/file_write.
The purpose is to remove redundant file/disk
openings when the provider has no use for them.
zia_get_provider() no longer opens vdevs
and the vdevs are now only opened in spa.c
whenever the provider is set AND either
zia_disk_write or zia_file_write is enabled.
Rather than calling the generic vdev_close/open(),
zia_open_vdevs() is called instead. Additionally,
the zia_open/close_vdevs() functions are now
wrapped with spa_vdev_state_enter() and
spa_vdev_state_exit() functions.
zia_close_vdevs() is not called whenever
disabling file_write and disk_write as it will eventually
be called whenever changing the provider or
freeing it by destroying the zpool.