summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2020-07-29 17:04:34 -0700
committerGitHub <[email protected]>2020-07-29 17:04:34 -0700
commit3a92552f755543c02c71aa29d680261907b1bea3 (patch)
tree410926fec2dc776b335d73b09ab75d7a37514545 /contrib
parentae12b023082fd91e89507a2a1fc014e64c6767f0 (diff)
Fix error handling of vdev_top_zap
In `vdev_load()`, we look up several entries in the `vdev_top_zap` object. In most cases, if we encounter an i/o error, it will be returned to the caller. However, when handling `VDEV_TOP_ZAP_ALLOCATION_BIAS`, if we get an i/o error, we may continue on, which in theory could cause us to not realize that a vdev should be used only for `special` allocations. In practice, if we encountered an i/o error while looking for `VDEV_TOP_ZAP_ALLOCATION_BIAS` in the `vdev_top_zap`, we'd also get an i/o error while looking for other entries in the same object, and thus the zpool open/import would fail. Therefore the impact of this problem is negligible. This commit adds error handling for i/o errors while accessing the `vdev_top_zap`, so that we aren't relying on unrelated code to fail for us. Reviewed-by: Don Brady <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Matthew Ahrens <[email protected]> Closes #10637
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions