MFC r245459

  Satisfy the intent of kern/151564: [ciss] ciss(4) should increase
  CISS_MAX_LOGICAL to 107

  Submitter wanted to increase the number of logical disks supported by ciss(4)
  by simply raising the CISS_MAX_LOGICAL value even higher.  Instead, consult
  the documentation for the raid controller (OPENCISS) and poke the controller
  bits to ask it for how many logical/physical disks it can handle.

  Revert svn R242089 that raised CISS_MAX_LOGICAL to 64 for all controllers.

  For older controllers that don't support this mechanism, fallback to the old
  value of 16 logical disks.  Tested on P420, P410, P400 and 6i model ciss(4)
  controllers.

  This should will be MFC'd back to stable/9 stable/8 and stable/7 after the MFC
  period.
MFC r245875:
Disable MSI interrupts for SB600 chipset.  According to the report they are
not functional.

PR:		kern/174880, kern/174985, kern/175002
MFC r245519:
Recalculate volume size only for real CONCATs.  For SINGLE trust volume
size given by metadata, as it should be correct and in some cases can be
smaller then subdisk size.
MFC r245522, r245533:
For Promise/AMD metadata add support for disks with capacity above 2TiB
and for volumes with sector size above 512 bytes.
MFC r245326:
Add basic support for Intel Rapid Recover Technology (Intel RRT).
It is alike to RAID1, but with dedicating master and recovery disks and
providing manual control over synchronization.  It allows to use recovery
disk as snapshot of the master disk from the time of the last sync.

This implementation is not functionaly complete comparing to Windows,
but it is better then silent conversion to RAID1 on first boot.
MFC r245338:
Implement migration from single disk to RAID1/IRRT for Intel metadata.
Windows driver uses such migration when it creates new arrays.  While GEOM
RAID has no mechanism to implement migration in general case, this specifc
case still can be handled easily via degraded RAID1 creation followed by
regular rebuild.
MFC r245341:
Windows handles INIT and VERIFY as array-wide and it doesn't specify which
disks should be rebuilt. Our rebuild code is same time disk-centric.  To
handle this situation  properly check all disks for RBLD flags, and if no
disk specified try rebuild/resync all of them except newly inserted.
MFC r245363:
Improve support for disabled disks. If disabled disk disconnected and then
reconnected back, leave it as disabled. If new disk inserted instead of
disabled, rebuild it and leave as enabled.
MFC r245398:
 - Add checks for Intel metadata version and attributes. Ignore disks with
unsupported metadata types like Intel Smart Response to not corrupt them.
 - Improve setting of these things during metadata writing to protect from
incapable BIOS'es and other implementations.
MFC r245400:
Windows driver writes relative volume IDs to metadata field.  Use that value
as a hint for raid/rX device number to make it persistent across reboots.
MFC r245423, r245425, r245433:
- Print some more metadata fields.
- Small cosmetic tuning of the IRRT status constants.
- Keep value of orig_config_id metadata field.  Windows driver writes there
previous value of config_id when it is changed in some cases.  I guess it
may be used do avoid some split-brain conditions.
MFC r245613:

Make it possible to force async at server side on new NFS server, similar
to the old one's nfs.nfsrv.async.

Please note that by enabling this option (default is disabled), the system
could potentionally have silent data corruption if the server crashes
before write is committed to non-volatile storage, as the client side have
no way to tell if the data is already written.

Submitted by:	rmacklem
MFC r244568:

 - Reduce buffer size from LINE_MAX to PATH_MAX, there is no point to store
   path longer than this.
 - Fix an unreached case of check against sizeof buf, which in turn leads
   to an off-by-one nul byte write on the stack.  The original condition
   can never be satisfied because the passed boundary is the maximum value
   that can be returned, so code was harmless.
MFC r245048:

Constify arguments.  While I'm there, also add a static for usage().
MFC r245511:

Improve the comment in txg.c

Obtained from:	Illumos (13910:f3454e0a097c)
MFC r246153, r246154:

r246153:
 - Update svn port directory in release(7).

r246154:
 -  Force commit to mark MFC for r246153.
MFC r243245:

Add UFS writesuspension mechanism, designed to allow userland processes
to modify on-disk metadata for filesystems mounted for write.

Reviewed by:    kib, mckusick
Sponsored by:   FreeBSD Foundation

MFC r243247:

Add change missed in 243245.

MFC r243250:

Fix build of kdump(1).

MFC r243254:

Fix build on powerpc.

Reviewed by:    nwhitehorn

MFC r243305 by marius:

Fix build after r243245.

Submitted by:   trasz

MFC r243339 by kib:

Fix module build after r243245.
MFC r243246:

Make it possible to resize filesystems mounted read-write, using newly
introduced UFS write suspension mechanism.

Reviewed by:	kib, mckusick
Sponsored by:	FreeBSD Foundation
MFC r244243:

Fix extending filesystems of weird size by making sure the actual size
is always multiple of fragment size.
MFC r244295:

When growing a filesystem, don't leave unused space at the end
if there is not enough room for a full cylinder group.

Reviewed by:    mckusick@