MFC r262812

- Gracefully handle truncation failures when trying to shrink directories.
  This could cause dirhash panics since the dirhash state would be
  successfully truncated while the directory was not.

Submitted by:   jeffr
MFC r262814

- If we fail to do a non-blocking acquire of a buf lock while doing a
  waiting sync pass we need to do a blocking acquire and restart.
  Another thread, typically the buf daemon, may have this buf locked and
  if we don't wait we can fail to sync the file.  This lead to a great
  variety of softdep panics because we rely on all dependencies being
  flushed before proceeding in several cases.

Submitted by:	jeffr
MFC r264229

Add some assertions to ensure that the target array doesn't get accessed
out of bounds.
MFC r261558

Add a new sysctl, dev.cxgbe.N.rsrv_noflow, and a companion tunable,
hw.cxgbe.rsrv_noflow.  When set, queue 0 of the port is reserved for
TX packets without a flowid.  The hash value of packets with a flowid
is bumped up by 1.  The intent is to provide a private queue for
link-level packets like LACP that is unlikely to overflow or suffer
deep queue latency.