xdisk - Fix improper EIO
* Fix an issue when xa_strategy() is called when no spans are valid,
but before open_tag could be terminated. This improperly caused the
BIO to fail.
If the BIO is not flagged to allow failures, place the BIO on sc->bioq
when this situation occurs instead of causing it to fail. The BIO will
be requeued when a new span becomes valid.
* With this change a hammer2 mount on a xdisk appears to survive multiple
communications failures without error (i.e. killing the hammer2 service
demon either box, then restarting it).
* Fix a locking panic.