MFC r267355:
  Add UUIDs for DragonFlyBSD's partition types.

MFC r267356:
  Add DragonFlyBSD's Hammer FS types and type names.

MFC r267357:
  Add aliases for DragonFlyBSD's partition types.

MFC r267358:
  Allow dumping to DragonFlyBSD's swap partition.

MFC r267359:
  Add disklabel64 support to GEOM_PART class.

  This partitioning scheme is used in DragonFlyBSD. It is similar to
  BSD disklabel, but has the following improvements:
  * metadata has own dedicated place and isn't accessible through partitions;
  * all offsets are 64-bit;
  * supports 16 partitions by default (has reserved place for more);
  * has reserved place for backup label (but not yet implemented);
  * has UUIDs for partitions and partition types;

MFC r267360:
  Add disklabel64 support

Relnotes:	yes
MFC r267493:

Fix two issues:

 - Check for rc.d directory's existence before traversing
   it;
 - Don't output * when rc.d directory is empty.

PR:		bin/190665
Submitted by:	Oleg Ginzburg <olevole olevole ru> (with changes)
MFC r267372-267374: fix various misimplementation of instructions.

Submitted by:	Wolf Ramovsky <wolf.ramovsky gmail.com>
MFC 266322,266323:
- Use 'RESOURCE' instead of the more generic 'TYPE' for the resource name
  column header when displaying resource usage.  This more closely matches
  other procstat displays.
- Add descriptions of the display formats for -e, -l, -r, and -x.  Fix a few
  typos in indent settings while here.
MVC	r268014:
Reduce some warnings in the Solaris unicode support.

Clean some warnings from parenthesis and minor style issues.
MFC r266981:
Overhaul CAM SG driver IOCTL interfaces.

Make it really work for native FreeBSD programs.  Before this it was broken
for years due to different number of pointer dereferences in Linux and
FreeBSD IOCTL paths, permanently returning errors to FreeBSD programs.
This change breaks the driver FreeBSD IOCTL ABI, making it more strict,
but since it was not working any way -- who bother.

Add shims for 32-bit programs on 64-bit host, translating the argument
of the SG_IO IOCTL for both FreeBSD and Linux ABIs.

With this change I was able to run 32-bit Linux sg3_utils tools and simple
32 and 64-bit FreeBSD test tools on both 32 and 64-bit FreeBSD systems.
MFC r267606:
On discovery stage add set of TargetAddress keys to reply, reporting to
the client all the portal groups addresses and ports.
MFC r267872:
Allow to use iSCSI immediate data by several ctl_datamove() calls.

While for FreeBSD client that is only a minor optimization, VMWare client
doesn't support additional data requests after all data being sent once as
immediate.
MFC r265323 (by trasz):
Provide better descriptions for 'struct ctl_scsiio' fields; based mostly
on emails from ken@.
MFC r267481, r267952:
Implement small KPI to access LUN options instead doing it by hands.
MFC r267485:
Remove non-functional remnants of control LUN -- 18MB of RAM for nothing.
MFC r267496, r267498:
Add "vendor", "product" and "revision" options to control inquiry data.
MFC r267499:
Remove custom processing for "file" option.
MFC r267500:
Format Portal Group Tag same as istgt does -- %4.4x instead of %x.

SPC-4 spec tells it should be "two or more hexadecimal digits".
RFC3720 tells it is 16-bit value.
MFC r267514:
Move kern_total_len setting from backend to core code.
MFC r267515:
Remove memcpy() from ctl_private[] accesses.

That union is aligned enough to access data directly.
MFC r267519:
Make backends track completion by processed number of sectors instead of
total transfer size.

Commands such as VERIFY or COMPARE AND WRITE may have transfer size not
matching directly to number of sectors.
MFC r267537:
Add support for VERIFY(10/12/16) and COMPARE AND WRITE SCSI commands.

Make data_submit backends method support not only read and write requests,
but also two new ones: verify and compare.  Verify just checks readability
of the data in specified location without transferring them outside.
Compare reads the specified data and compares them to received data,
returning error if they are different.

VERIFY(10/12/16) commands request either verify or compare from backend,
depending on BYTCHK CDB field.  COMPARE AND WRITE command executed in two
stages: first it requests compare, and then, if succeesed, requests write.
Atomicity of operation is guarantied by CTL request ordering code.

Sponsored by:	iXsystems, Inc.
MFC r267506:
Document additional LUN/backend options.
MFC r267516i (by joel):
mdoc: add missing width to Bl -tag.