hammer2 - SPAN protocol work
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Aug 2012 01:32:16 +0000 (18:32 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Aug 2012 01:32:16 +0000 (18:32 -0700)
commitcf7158008b31a0a05335c5c3d5438de35f5740fc
treea26a043355268b943ef8c8c1799ec80578405684
parentfbcea7f712a05f7fc94637a90c0ebc34230c7de7
hammer2 - SPAN protocol work

* Because we allow loops in the graph the loss of a feeder node can
  result in a tail-chasing loop of SPAN updates with an ever-growing
  distance parameter.

  To deal with this a spanning tree distance limit is required, beyond
  which no propagation occurs which terminates the chase.  The tail
  then catches up to the head and the node is finally removed from
  the spanning tree entirely.

  This fixes the propagation of spanning tree deletions e.g. when we
  umount a HAMMER2 PFS.

* Fix a state insertion bug.  A structure was being inserted into the
  red-black tree before the required fields were being initialized.
  Corrects a SPAN propagation fault.
sbin/hammer2/msg.c
sbin/hammer2/msg_lnk.c