| 5ab1caed | 10-Mar-2015 |
Matthew Dillon <dillon@apollo.backplane.com> |
dmsg - Formalize most of the debugging output, cleanup, fix uninit bug
* Macroize and formalize most of the debugging output.
* Add LNK_PING support.
* Fix a bug in kdmsg_iocom_uninit(). The RX t
dmsg - Formalize most of the debugging output, cleanup, fix uninit bug
* Macroize and formalize most of the debugging output.
* Add LNK_PING support.
* Fix a bug in kdmsg_iocom_uninit(). The RX thread can stall reading from the pipe and never wakeup to see the KILLRX flag if no traffic comes in.
To deal with this kdmsg_iocom_uninit() sends a LNK_PING over the link, then gives the threads 10 seconds to shutdown nicely. If they do not the pipe descriptor is not-so-nicely shutdown().
show more ...
|
| 5dafdfba | 09-Mar-2015 |
Matthew Dillon <dillon@apollo.backplane.com> |
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 n
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.
show more ...
|
| 323c0947 | 05-May-2014 |
Matthew Dillon <dillon@apollo.backplane.com> |
hammer2 - dmsg stabilization
This is a general stabilization pass testing xdisk resumption on various communications failures (killing the local or remote hammer2 service demon).
* Simulate failure
hammer2 - dmsg stabilization
This is a general stabilization pass testing xdisk resumption on various communications failures (killing the local or remote hammer2 service demon).
* Simulate failures on recursive transactions in a bottom-up fashion
* bcmp() does not return an inequality (neg, zero, or positive). It returns only 0 or 1. Change fs_label RBTREE test to strcmp()
* ref-count the state structure, use dmsg_state_hold()/dmsg_state_drop() to control it. Fix at least one memory leak.
* Consolidate simulated transaction failure core into a helper function dmsg_msg_simulate_failure().
* Clean up the tx state on the front-end after the msg has extracted necessary information from it, instead of in the transmit thread. This is so the state fields are updated synchronously and not delayed by the transmit queue.
* Change xdisk's error test to avoid accidently failing a BIO due to a communications issue (verses an actual IO error on the remote physical disk).
* Remove some invalid assertions, add assertions.
show more ...
|