hammer2 - More work on userland hammer2 msg infrastructure
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 6 Jul 2012 05:36:01 +0000 (22:36 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 6 Jul 2012 05:36:01 +0000 (22:36 -0700)
commit1b195a982651cc65fe202f626320cf1368df1422
treee82c10d1fb8a8740de9bc7284995a1c4d895547e
parent42e2a62ef34aa8bcaa4c94eeba0cfced40e989b6
hammer2 - More work on userland hammer2 msg infrastructure

* When a link error occurs generate a LNK_ERROR message for each transaction
  before setting the iocom ERROR flag and returning the final
  non-transactional LNK_ERROR.

* Processing command switches switch on the original transactional head.cmd
  instead of the current msg->any.head.cmd, which allows the use of mixed
  cmd's in a transactional message stream.

  The target function then handles the actual msg->any.head.cmd.  Thus we
  can consolidate all sub-commands used within a transaction into the target
  function, which greatly improves code quality.

  This allows us to send LNK_ERROR messages over active transactions.

* Print the pfs_id and label for the received LNK_SPAN message the kernel
  sends to the userland hammer2 service process, and verify LNK_ERROR
  processing for connection terminations.  Yup, it works.
sbin/hammer2/cmd_service.c
sbin/hammer2/msg.c
sbin/hammer2/network.h