Mark's Claude code properly points out an interesting bug case where if a new block is
created from a sack aka
- rsm |--------|
- sackblk |----->
Then when the new block is created rack_check_reorder_ack() is called and then called again when
the block is actually ack'ed. Proper thing is to *not* in this case call the function and only call
it at the processing to ACK. You leave the hookery side however since that is just transfering
the existing block pointers.