MFC r251478: MFV r251474:

 * Illumos zfs issue #3137 L2ARC compression

Whether or not to compress buffers entering the L2ARC is
controlled by "compression" setting on the dataset, when
compression is not "off", L2ARC compression is enabled.

The compress method is always LZ4 for L2ARC when enabled
because it works best for the scenario.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252140 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251520: MFV r251519:

 * Illumos ZFS issue #3805 arc shouldn't cache freed blocks


git-svn-id: svn://svn.freebsd.org/base/stable/9@252142 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r243151:
  o Remove meaningless PROTOCOLS section.
  o Describe passing file descriptors as separate section.
    - Descriptors can be passed through any protocol of the UNIX family,
      not SOCK_STREAM and SOCK_SEQPACKET only. [1]
  o Describe socket options as separate section.
    - Move LOCAL_PEERCRED option to this section.
    - Describe struct xucred.
    - In LOCAL_CREDS section mention that credentials
      are passed only on the first read on non-datagram
      sockets.
  o Xref all mentioned system calls.

  Noticed by:   Igor Sysoev [1]


git-svn-id: svn://svn.freebsd.org/base/stable/9@252144 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r243569, r243601:
  Re-initialize eh pointer after m_adj(), after ng_ether(4) and
  if_bridge(4) processing.

  Submitted by: Kohji Okuno <okuno.kohji jp.panasonic.com>
  Reviewed by:  yongari


git-svn-id: svn://svn.freebsd.org/base/stable/9@252145 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r247910:
  Plug a memory leak.

  Reviewed by:  mav
  Sponsored by: Nginx, Inc.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252146 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r247911,r248187,r248254,r250797:

Various quirks to enable headphones redirection on
various Lenovo laptops: X220, X1, X1 Carbon, T420,
T430, T430S, T520.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252148 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248155:
  Reinitialize eh after pfil(9) processing.

  PR:           176764
  Submitted by: adri


git-svn-id: svn://svn.freebsd.org/base/stable/9@252149 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248158:
  Remove LIBALIAS_LOCK_ASSERT(), including a couple with an uninitialzed
  argument, in code that isn't compiled in kernel.

  PR:           kern/176667
  Sponsored by: Nginx, Inc.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252150 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248159:
  Fix for quite a special case when userland emulates a netgraph node, and
  userland can reply to a message with NGM_HASREPLY bit set. In this case
  we should not wait for a response to a responce.

  PR:           176771
  Submitted by: Keith Reynolds <keith.reynolds tidalscale.com>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252151 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248160:
  Fix spelling.

  PR:           176777
  Submitted by: Andrey Simonenko <simon comsys.ntu-kpi.kiev.ua>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252152 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248370:
  Belatedly remove the vinum(4) manual page. The vinum
  manager is absent in FreeBSD since 6.0-RELEASE.

  Reviewed by:  joel


git-svn-id: svn://svn.freebsd.org/base/stable/9@252153 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248489:
  There are actually two different cases when mlock(2) returns
  ENOMEM. Clarify this, taking text from SUS.

  Reviewed by:  kib


git-svn-id: svn://svn.freebsd.org/base/stable/9@252154 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248507:
  iwn(4) doesn't support adhoc mode.

  PR:           misc/177106
  Submitted by: Hiren Panchasara <hiren.panchasara gmail.com>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252155 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r248570, 248582:
  Add NGM_NAT_LIBALIAS_INFO command, that reports internal stats
  of libalias instance. To be used in the mpd5 daemon.

  Submitted by: Dmitry Luhtionov <dmitryluhtionov gmail.com>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252156 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r249896:
  Restore the ipNetToMedia MIB, that was broken with new ARP commit
  in the r186119.

  Submitted by: Konstantin Kukushkin <dark rambler-co.ru>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252157 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r249897:
  Don't free memory that is going to be used as error string.

  PR:           bin/178121
  Submitted by: Garrett Cooper <yaneurabeya gmail.com>


git-svn-id: svn://svn.freebsd.org/base/stable/9@252158 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge r250039:
  Remove useless ifdef KLD_MODULE from dummynet module unload path. This
  fixes panic on unload.

  Reported by:  pho


git-svn-id: svn://svn.freebsd.org/base/stable/9@252159 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC 250223,250233:
Similar to 233760 and 236717, export some more useful info about the
kernel-based POSIX semaphore descriptors to userland via procstat(1) and
fstat(1):
- Change sem file descriptors to track the pathname they are associated
  with and add a ksem_info() method to copy the path out to a
  caller-supplied buffer.
- Use the fo_stat() method of shared memory objects and ksem_info() to
  export the path, mode, and value of a semaphore via struct kinfo_file.
- Add a struct semstat to the libprocstat(3) interface along with a
  procstat_get_sem_info() to export the mode and value of a semaphore.
- Teach fstat about semaphores and to display their path, mode, and value.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252163 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC 251470:
Do not compare the existing mask of a cpuset with a new mask when changing
the mask of a cpuset.  Also, change the cpuset's mask before updating the
masks of all children.  Previously changing a cpuset's mask first required
setting the mask to a super-set of both the old and new masks and then
changing it a second time to the new mask.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252165 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC 252037: Document RA_RECURSED and RA_NOTRECURSED.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252168 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f