|
Description
|
Currently, any zpool(1M) subcommand which prints out a vdev calls
zpool_vdev_name(). This always tries to open a device, even if it
is currently dead or unavailable. If the device is offlined (or in
the future faulted) due to a faulty device, this sends the device
I/O attempts which time out and will never complete. This makes
it seem like the command hangs, and can make a bad situation even
worse.
The only reason we open the devices is to get the devid and compare
it to the current value. We shouldn't bother doing this if the vdev
is dead.
|