]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
FreeBSD/stable/10.git
7 years agoMFC 308201
sephe [Fri, 11 Nov 2016 08:04:24 +0000 (08:04 +0000)]
MFC 308201

    hyperv/kvp: Don't mix message status codes and function return values.

    While I'm here, move message status codes to hv_utilreg.h, since they
    will be used by the upcoming VSS stuffs.

    Submitted by:   Hongjiang Zhang <honzhan microsoft com>
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8391

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

7 years agoMFC 308194
sephe [Fri, 11 Nov 2016 07:52:29 +0000 (07:52 +0000)]
MFC 308194

    hyperv: GC unused functions.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8406

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

7 years agoMFC 308168
sephe [Fri, 11 Nov 2016 07:45:03 +0000 (07:45 +0000)]
MFC 308168

    hyperv/vmbus: Avoid extra header copy.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8395

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

7 years agoMFC 308166,308167
sephe [Fri, 11 Nov 2016 07:41:38 +0000 (07:41 +0000)]
MFC 308166,308167

308166
    hyperv/hn: Move TSO packet fixup to an earlier place for if_transmit.

    While TSO packet header may be still cache-hot.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8393

308167
    hyperv/hn: Directly fill chimney sending buffer for small packets.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8394

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

7 years agoMFC 308164
sephe [Fri, 11 Nov 2016 07:33:44 +0000 (07:33 +0000)]
MFC 308164

    hyperv/hn: Regroup if_start related functions.

    And put them under HN_IFSTART_SUPPORT, which is by default on until
    we whack the if_start related bits from base system.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8392

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

7 years agoMFC 308163
sephe [Fri, 11 Nov 2016 07:25:14 +0000 (07:25 +0000)]
MFC 308163

    hyperv/hn: Rename cleaned up file.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8390

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

7 years agoMFC 308162
sephe [Fri, 11 Nov 2016 07:13:17 +0000 (07:13 +0000)]
MFC 308162

    hyperv/hn: Cosmetic cleanup; no functional changes.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8389

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

7 years agoMFC 308117-308120
sephe [Fri, 11 Nov 2016 07:01:50 +0000 (07:01 +0000)]
MFC 308117-308120

308117
    hyperv/hn: Rework temporary channel packet buffer expanding.

    And use large default temporary channel packer buffer; we really
    don't want it to be expanded at run time.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8367

308118
    hyperv/hn: Cleanup RXBUF ack processing.

    - Increase the # of retries.
    - Add comment.
    - Log error, if RXBUF ack fails.
    - Add stat for RXBUF ack failures.

    RXBUF ack really should _not_ fail...

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8368

308119
    hyperv/hn: Reset do_lro, if the hash types are not TCP related.

    Mainly because the host side only set TCPCS and IPCS even for
    UDP datagrams.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8369

308120
    hyperv/hn: Don't start shared TX taskq, if the hypervisor is not Hyper-V.

    - Move the SYSINIT to DRIVER/SECOND, i.e. after the vm_guest becomes
      determistic.
    - Minor style changes.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8370

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

7 years agoMFC 308018,308116
sephe [Fri, 11 Nov 2016 06:42:46 +0000 (06:42 +0000)]
MFC 308018,308116

308018
    hyeprv/hn: Rename cleaned up RNDIS header file.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8360

308116
    hyperv/hn: Rename cleaned up RNDIS source file.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8361

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

7 years agohyperv/hn: Fix i386 build; if_baudrate is 32bits on i386 on stable/10
sephe [Fri, 11 Nov 2016 06:26:34 +0000 (06:26 +0000)]
hyperv/hn: Fix i386 build; if_baudrate is 32bits on i386 on stable/10

This is a direct commit.

Sponsored by: Microsoft

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

7 years agoMFC 308013-308017
sephe [Fri, 11 Nov 2016 06:23:01 +0000 (06:23 +0000)]
MFC 308013-308017

308013
    hyperv/hn: Nuke unnecessary indirection.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8355

308014
    hyperv/hn: Reorganize RX path; mainly pull non-control code path up

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8356

308015
    hyperv/hn: Pull data path code up.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8357

308016
    hyperv/hn: Cleanup RNDIS related files.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8358

308017
    hyperv/hn: Change header guardian; in preparation for the upcoming rename.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8359

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

7 years agoMFC 308011,308012
sephe [Fri, 11 Nov 2016 05:53:58 +0000 (05:53 +0000)]
MFC 308011,308012

308011
    hyperv/hn: Rename cleaned up NVS header file.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8353

308012
    hyperv/hn: Rename cleaned up NVS source file.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8354

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

7 years agoMFC 307989-307991,308010
sephe [Fri, 11 Nov 2016 05:37:04 +0000 (05:37 +0000)]
MFC 307989-307991,308010

307989
    hyperv/hn: Move hn_softc to if_hnvar.h

    While I'm here, use consistent macro names.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8345

307990
    hyperv/hn: Move send context to NVS domain.

    Since all sends are encapsulated in NVS messages.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8346

307991
    hyperv/hn: NVS inclusion cleanup and forward declare functions.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8347

308010
    hyperv/hn: Change header guardian; in preparation for the upcoming rename.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8352

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

7 years agoMFC 307985-307988
sephe [Fri, 11 Nov 2016 05:17:03 +0000 (05:17 +0000)]
MFC 307985-307988

307985
    hyperv/hn: Nuke unnecessary M_NETVSC

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8340

307986
    hyperv/hn: Move %b format string for capabilities near their definition.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8341

307987
    hyperv/hn: Define empty packet filter.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8342

307988
    hyperv/hn: Shuffle chimney sending buffer alloc/free around.

    This paves way for more chimney sending buffer reorganization.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8343

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

7 years agoMFC 307983
sephe [Fri, 11 Nov 2016 05:07:25 +0000 (05:07 +0000)]
MFC 307983

    hyperv/hn: Properly configure RSS according to RSS capabilities

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8338

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

7 years agoMFC 307952,307953,308278
sephe [Fri, 11 Nov 2016 04:39:02 +0000 (04:39 +0000)]
MFC 307952,307953,308278

307952
    hyperv/vmbus: Add missing white space.

    Submitted by:   QianYue You <t-youqi microsoft com>
    Sponsored by:   Microsoft

307953
    hyperv/vmbus: Implement vmbus_chan_printf.

    And use it for vmbus channel logging, which can log the channel
    owner's name properly, instead of vmbus0.

    Submitted by:   QianYue You <t-youqi microsoft com>
    Sponsored by:   Microsoft

308278
    hyperv/vmbus: Reset ch_dev, once the child is deleted.

    So it will not be mis-used later on, e.g. in vmbus_chan_printf().

    Submitted by:   dexuan
    Reported by:    dexuan
    Sponsored by:   Microsoft

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

7 years agoMFC 307893
sephe [Fri, 11 Nov 2016 04:33:43 +0000 (04:33 +0000)]
MFC 307893

    hyperv/hn: Set baudrate properly

    PR:             208931
    Submitted by:   Eugene Grosbein <ports grosbein net>
    Reported by:    Eugene Grosbein <ports grosbein net>
    Sponsored by:   Microsoft

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

7 years agoMFC 307845
sephe [Fri, 11 Nov 2016 03:43:06 +0000 (03:43 +0000)]
MFC 307845

    hyperv/ic: Rework framework/message version negotiation.

    Submitted by:   Hongjiang Zhang <honzhan microsoft com>
    Modified by:    sephe
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8280

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

7 years agoMFC 307844
sephe [Fri, 11 Nov 2016 03:41:36 +0000 (03:41 +0000)]
MFC 307844

    hyperv/hn: Nuke unused forward declaration.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8314

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

7 years agoMFC 307843
sephe [Fri, 11 Nov 2016 03:22:22 +0000 (03:22 +0000)]
MFC 307843

    hyperv/hn: Fix RX filter settings.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8313

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

7 years agoMFC 307840,307842
sephe [Fri, 11 Nov 2016 03:15:52 +0000 (03:15 +0000)]
MFC 307840,307842

307840
    hyperv/hn: Properly handle synthetic parts reattach failure.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8310

307842
    hyperv/hn: Start link status check, if no network changes were pending.

    Link status check is much more lightweight than network change detection.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8311

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

7 years agoMFC 307838,307839
sephe [Fri, 11 Nov 2016 03:09:15 +0000 (03:09 +0000)]
MFC 307838,307839

307838
    hyperv/hn: Move chimney buffer index and size to txdesc.

    All RNDIS control messages have used SG list for a while.  This makes
    the send context suitable for further refactoring.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8308

307839
    hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure.

    This will not happen in real world, since TX consumption of the vmbus
    TX bufring is limitted.  Better safe than sorry.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8309

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

7 years agoMFC 307710-307712,307714
sephe [Fri, 11 Nov 2016 03:03:54 +0000 (03:03 +0000)]
MFC 307710-307712,307714

307710
    hyperv/hn: Always query RSS capabilities.

    - This avoid distributing NDIS version check.
    - Only NDIS 6.20 required (earlier NDIS uses different indirect table
      format).

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8291

307711
    hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8293

307712
    hyperv/hn: Add network change support.

    Currently the network change is simulated by link status changes.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8295

307714
    hyperv/hn: Function renaming; consistent w/ hardware capabilities query.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8296

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

7 years agoMFC r307624
sephe [Fri, 11 Nov 2016 02:40:44 +0000 (02:40 +0000)]
MFC r307624

    hyperv/vmbus: Expose channel management taskqueue for driver to use.

    Sponsored by:   Microsoft

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

7 years agoMFC r308225: dev/cpuctl: put debug output under CPUCTL_DEBUG rather than DEBUG
avg [Thu, 10 Nov 2016 11:14:51 +0000 (11:14 +0000)]
MFC r308225: dev/cpuctl: put debug output under CPUCTL_DEBUG rather than DEBUG

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

7 years agoMFC r308228:
kib [Wed, 9 Nov 2016 17:19:50 +0000 (17:19 +0000)]
MFC r308228:
Remove remnants of the recursive sleep support.

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

7 years agoMFC r308211:
kib [Wed, 9 Nov 2016 17:07:45 +0000 (17:07 +0000)]
MFC r308211:
Remove tautological casts.

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

7 years agoMFC: r307891
rmacklem [Tue, 8 Nov 2016 21:47:00 +0000 (21:47 +0000)]
MFC: r307891
Fix the man page to reflect the change done by r307890 to mountd.c
so that the "-n" option uses the sysctl for the correct NFS server.
This is a content change.

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

7 years agoMFC: r307890
rmacklem [Tue, 8 Nov 2016 21:39:15 +0000 (21:39 +0000)]
MFC: r307890
mountd(8) was erroneously setting the sysctl for the old NFS server
when the new/default NFS server was running, for the "-n" option.

This patch fixes the problem for stable/10 and stable/9.
Since the new NFS server uses vfs.nfsd.nfs_privport == 0 by default,
there wouldn't have been many users affected by the code not setting
it to 0 when the "-n" option was specified.

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

7 years agoMFC r307857: Fix panic after ZVOL renamed to name invalid for DEVFS.
mav [Tue, 8 Nov 2016 20:58:25 +0000 (20:58 +0000)]
MFC r307857: Fix panic after ZVOL renamed to name invalid for DEVFS.

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

7 years agoMFC r307903,307904,308039,308050: vmm/svm: iopm_bitmap and msr_bitmap
avg [Tue, 8 Nov 2016 07:18:39 +0000 (07:18 +0000)]
MFC r307903,307904,308039,308050: vmm/svm: iopm_bitmap and msr_bitmap
must be contiguous in physical memory

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

7 years agoMFC r307518:
hselasky [Mon, 7 Nov 2016 09:19:04 +0000 (09:19 +0000)]
MFC r307518:
Fix device delete child function.

When detaching device trees parent devices must be detached prior to
detaching its children. This is because parent devices can have
pointers to the child devices in their softcs which are not
invalidated by device_delete_child(). This can cause use after free
issues and panic().

Device drivers implementing trees, must ensure its detach function
detaches or deletes all its children before returning.

While at it remove now redundant device_detach() calls before
device_delete_child() and device_delete_children(), mostly in
the USB controller drivers.

Tested by: Jan Henrik Sylvester <me@janh.de>
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D8070

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

7 years agoMFC r308031:
hselasky [Mon, 7 Nov 2016 08:24:29 +0000 (08:24 +0000)]
MFC r308031:
Fix indentation and remove duplicate queue stopped stats increment.

Found by: Ryan Stone <rysto32@gmail.com>
Sponsored by: Mellanox Technologies

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

7 years agoMFC r308144 and r308165:
hselasky [Mon, 7 Nov 2016 08:15:58 +0000 (08:15 +0000)]
MFC r308144 and r308165:
Fixes for virtual T-axis buttons.

Make sure the virtual T-axis buttons gets cleared for USB mice which has
less than 6 buttons.

Make sure the virtual T-axis buttons generate button release event(s)
for continuous tilting.

PR: 213919
PR: 213957

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

7 years agoMFC r288990:
avos [Sun, 6 Nov 2016 16:44:33 +0000 (16:44 +0000)]
MFC r288990:
Fix regression from r248371. We need to copy packet header to new
mbuf. Unlike in the pre-r248371 code, assert that M_PKTHDR is set
only on a first mbuf.

PR: 195074

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

7 years agoMFC r307768: jedec_ts: a driver for thermal sensors on memory modules
avg [Sun, 6 Nov 2016 13:56:34 +0000 (13:56 +0000)]
MFC r307768: jedec_ts: a driver for thermal sensors on memory modules

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

7 years agoMFC r307348: aibs / atk0110: add support for querying sensors via GGRP and GITM
avg [Sun, 6 Nov 2016 13:51:50 +0000 (13:51 +0000)]
MFC r307348: aibs / atk0110: add support for querying sensors via GGRP and GITM

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

7 years agoMFC r283636:
avos [Sun, 6 Nov 2016 13:50:54 +0000 (13:50 +0000)]
MFC r283636:
- Don't request BUS_DMA_ALLOCNOW for dma tags, that requires enormous
amount of memory.
- Don't request segsize of BUS_SPACE_MAXSIZE_32BIT, when maxsize is
MCLBYTES.

With this change bwi_attach() can succeed on i386.

PR: 214235
Submitted by: scottl

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

7 years agoMFC r308114:
kib [Sun, 6 Nov 2016 13:40:03 +0000 (13:40 +0000)]
MFC r308114:
Change remained internal uses of boolean_t to bool in vm/vm_fault.c.

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

7 years agoMFC r308113:
kib [Sun, 6 Nov 2016 13:37:33 +0000 (13:37 +0000)]
MFC r308113:
Remove vm_pager_has_page() declaration.

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

7 years agoMFC r308109:
kib [Sun, 6 Nov 2016 13:35:20 +0000 (13:35 +0000)]
MFC r308109:
Remove vnode_locked label and goto.

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

7 years agoMFC r304053, r304054:
markj [Sat, 5 Nov 2016 20:14:23 +0000 (20:14 +0000)]
MFC r304053, r304054:
Initialize busy lock state and strengthen busy lock assertions.

Tested by: Oliver Pinter

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

7 years agoMFC r307800, r307801
cy [Sat, 5 Nov 2016 17:02:38 +0000 (17:02 +0000)]
MFC r307800, r307801

r307800:

  Sources from the "current" build tree and generated sources in the
  object tree should be used instead of sources and headers from the
  already installed source tree on the build host.

  This was noticed while addressing issues in the upcoming amd update.

r307801:

  Align whitespace.

  r307801 is related to r307800 however it was a separate commit to
  HEAD in order to maintain a separation between the functional change
  and a correction of style.

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

7 years agoMFC r308094:
kib [Sat, 5 Nov 2016 10:22:51 +0000 (10:22 +0000)]
MFC r308094:
Add unlock_vp() helper.

MFC r308095 (by markj):
Add one more use of unlock_vp().

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

7 years agoMFC 302313:
jhb [Fri, 4 Nov 2016 22:03:41 +0000 (22:03 +0000)]
MFC 302313:
cxgbe(4): Avoid a NULL dereference while dumping the L2 table.  Entries
used by switching filters that rewrite L2 information do not have any
associated ifnet.

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

7 years agoMFC 301516,301520,301531,301535,301540,301542,301628: Traffic scheduling
jhb [Fri, 4 Nov 2016 21:59:27 +0000 (21:59 +0000)]
MFC 301516,301520,301531,301535,301540,301542,301628: Traffic scheduling
updates.

301516:
cxgbetool: Allow max-rate > 10Gbps for rate-limited traffic.

301520:
cxgbe(4): Create a reusable struct type for scheduling class parameters.

301531:
cxgbe(4): Break up set_sched_class.  Validate the channel number and
min/max rates against their actual limits (which are chip and port
specific) instead of hardcoded constants.

301535:
cxgbe(4): Track the state of the hardware traffic schedulers in the
driver.  This works as long as everyone uses set_sched_class_params
to program them.

301540:
cxgbe(4): Provide information about traffic classes in the sysctl mib.

301542:
cxgbe(4): A couple of fixes to set_sched_queue.

- Validate the scheduling class against the actual limit (which is chip
  specific) instead of a magic number.

- Return an error if an attempt is made to manipulate the tx queues of a
  VI that hasn't been initialized.

301628:
cxgbe(4): Add a sysctl to manage the binding of a txq to a traffic class.

Sponsored by: Chelsio Communications

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

7 years agoMFC 297883:
jhb [Fri, 4 Nov 2016 21:52:48 +0000 (21:52 +0000)]
MFC 297883:
cxgbe(4): Always dispatch all work requests that have been written to the
descriptor ring before leaving drain_wrq_wr_list.

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

7 years agoMFC 297875: cxgbe(4): Always read the entire mailbox into the reply buffer.
jhb [Fri, 4 Nov 2016 21:48:22 +0000 (21:48 +0000)]
MFC 297875: cxgbe(4): Always read the entire mailbox into the reply buffer.

The size of the reply can be different from the size of the command in
case a debug firmware asserts.  fw_asrt() needs the entire reply in
order to decode the location of the assert.

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

7 years agoMFC 297776,297777,297779: Add DDB commands to cxgbe(4).
jhb [Fri, 4 Nov 2016 21:43:10 +0000 (21:43 +0000)]
MFC 297776,297777,297779: Add DDB commands to cxgbe(4).

297776:
Add a function to lookup a device_t object by name.

This just walks the global list of devices looking for one with the
requested name.  The one use case outside of devctl2's implementation
is for DDB commands that wish to lookup devices by name.

297777:
Add a 'show t4 tcb <nexus> <tid>' command to dump a TCB from DDB.

This allows the contents of a TCB to be extracted from a T4/T5 card in
DDB after a panic.

297779:
Add a 'show t4 devlog <nexus>' DDB command.

This command displays the adapter's firmware device log similar to the
dev.<nexus>.misc.devlog sysctl.

Sponsored by: Chelsio Communications

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

7 years agoMFC 297194:
jhb [Fri, 4 Nov 2016 21:02:33 +0000 (21:02 +0000)]
MFC 297194:
cxgbe(4): Be consistent and call ETHER_BPF_MTAP before writing anything
to the descriptor ring no matter what path the frame takes within the
driver's tx.

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

7 years agoMFC 296975: cxgbe(4): Tidy up PAUSE frame accounting.
jhb [Fri, 4 Nov 2016 20:56:28 +0000 (20:56 +0000)]
MFC 296975: cxgbe(4): Tidy up PAUSE frame accounting.

Figure out if the chip is counting PAUSE frames in the "normal" stats
and take them out if it is.  This fixes a bug in the tx stats because
the default hardware behavior is different for Tx and Rx but the driver
was treating both the same way.  The result was that OPACKETS, OBYTES,
and OMCASTS were under-reported (if tx_pause > 0) before this change.

Note that the mac_stats sysctl still gives you the raw value of these
statistics straight from the device registers.

Sponsored by: Chelsio Communications

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

7 years agoMFC 296950,296951: Configuration updates.
jhb [Fri, 4 Nov 2016 20:38:26 +0000 (20:38 +0000)]
MFC 296950,296951: Configuration updates.

296950:
cxgbe(4): Update some register settings in the default configuration
files to match the "uwire" configuration.

296951:
cxgbe(4): Enable additional capabilities in the default configuration
files.  All features with FreeBSD drivers of some kind are now in the
default configuration.

Sponsored by: Chelsio Communications

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

7 years agoMFC 296018,296640,296641,296689,296735,296949: Fixes for sysctl handlers.
jhb [Fri, 4 Nov 2016 20:30:15 +0000 (20:30 +0000)]
MFC 296018,296640,296641,296689,296735,296949: Fixes for sysctl handlers.

296018:
cxgbe(4): Add a sysctl to retrieve the maximum speed/bandwidth supported by a
port.

dev.cxgbe.<n>.max_speed
dev.cxl.<n>.max_speed

296640:
cxgbe(4): Add a sysctl for the event capture mask of the TP block's
logic analyzer.

dev.t5nex.<n>.misc.tp_la_mask
dev.t4nex.<n>.misc.tp_la_mask

296641:
cxgbe(4): Add sysctls to display the TP microcode version and the
expansion rom version (if there's one).

trantor:~# sysctl dev.t4nex dev.t5nex | grep _version
dev.t4nex.0.firmware_version: 1.15.28.0
dev.t4nex.0.tp_version: 0.1.9.4
dev.t5nex.0.firmware_version: 1.15.28.0
dev.t5nex.0.exprom_version: 1.0.0.68
dev.t5nex.0.tp_version: 0.1.4.9

296689:
cxgbe(4): sysctls to display the TOE's TCP timers.

cask:~# sysctl -d dev.t5nex.0.toe
dev.t5nex.0.toe.finwait2_timer: FINWAIT2 timer (us)
dev.t5nex.0.toe.initial_srtt: Initial SRTT (us)
dev.t5nex.0.toe.keepalive_intvl: Keepidle interval (us)
dev.t5nex.0.toe.keepalive_idle: Keepidle idle timer (us)
dev.t5nex.0.toe.persist_max: Persist timer max (us)
dev.t5nex.0.toe.persist_min: Persist timer min (us)
dev.t5nex.0.toe.rexmt_max: Retransmit max (us)
dev.t5nex.0.toe.rexmt_min: Retransmit min (us)
dev.t5nex.0.toe.dack_timer: DACK timer (us)
dev.t5nex.0.toe.dack_tick: DACK tick (us)
dev.t5nex.0.toe.timestamp_tick: TCP timestamp tick (us)
dev.t5nex.0.toe.timer_tick: TP timer tick (us)
...

cask:~# sysctl dev.t5nex.0.toe
dev.t5nex.0.toe.finwait2_timer: 9765440
dev.t5nex.0.toe.initial_srtt: 244128
dev.t5nex.0.toe.keepalive_intvl: 73240800
dev.t5nex.0.toe.keepalive_idle: 7031116800
dev.t5nex.0.toe.persist_max: 9765440
dev.t5nex.0.toe.persist_min: 976544
dev.t5nex.0.toe.rexmt_max: 9765440
dev.t5nex.0.toe.rexmt_min: 244128
dev.t5nex.0.toe.dack_timer: 19520
dev.t5nex.0.toe.dack_tick: 32.768
dev.t5nex.0.toe.timestamp_tick: 1048.576
dev.t5nex.0.toe.timer_tick: 32.768
...

296735:
Fix the following gcc warnings on sparc64, when TCP_OFFLOAD is not
defined:

    sys/dev/cxgbe/t4_main.c:7474: warning: 'sysctl_tp_tick' defined but not used
    sys/dev/cxgbe/t4_main.c:7505: warning: 'sysctl_tp_dack_timer' defined but not used
    sys/dev/cxgbe/t4_main.c:7519: warning: 'sysctl_tp_timer' defined but not used

This just adds a bunch of #ifdef TCP_OFFLOAD in the right places.

296949:
cxgbe(4): Remove a couple of pointless assignments in sysctl_meminfo.
Do not display range if start = stop (this is a workaround for some
unused regions).

Sponsored by: Chelsio Communications

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

7 years agoMFC 296552,296596,296603,296624,296627: Fixes related to memory windows.
jhb [Fri, 4 Nov 2016 19:07:12 +0000 (19:07 +0000)]
MFC 296552,296596,296603,296624,296627: Fixes related to memory windows.

296552:
cxgbe(4): Rename regwin_lock to reg_lock.  It is used to protect access
to indirect registers only.

296596:
cxgbe(4): Allow the addr/len pair that is being validated in
validate_mem_range to span multiple memory types.  Update
validate_mt_off_len to use validate_mem_range.

296603:
cxgbe(4): Add general purpose routines that offer safe access to the
chip's memory windows.  Convert existing users of these windows to the
new routines.

296624:
cxgbe(4): Fix bug in r296603.  The memory window needs to be
repositioned if the start address isn't in the window already.  One
of the bounds check used the end address instead.

296627:
cxgbe(4): Improvements to the code that deals with the firmware's log.

- Query the location of the log very early during attach.  Refresh the
  location later after establishing contact with the firmware.
- Save the log's location as a flat address in devlog_params.
- Use a memory window instead of backdoor access to the EDC/MC to read
  the log.

Sponsored by: Chelsio Communications

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

7 years agoMFC 295778,296249,296333,296383,296471,296478,296481,296485,296488-296491,
jhb [Fri, 4 Nov 2016 18:45:06 +0000 (18:45 +0000)]
MFC 295778,296249,296333,296383,296471,296478,296481,296485,296488-296491,
296493-296496,296544,296710-296711,297863,299685: Catch up to changes to
the internal shared code.

Note that this merge includes two different firmware updates, but the
effective change is to update to the last version (1.15.37.0).  As such,
I've trimmed the log message of the first update (1.15.28.0).

In addition, the M_WAIT macro added in t4_regs.h had to be renamed to
CXGBE_M_WAIT to avoid a collision on 10.x that is not present on 11.

295778:
cxgbe: catch up with the latest hardware-related definitions.

296249:
cxgbe(4): Update T5 and T4 firmwares to 1.15.28.0.

296333:
cxgbe(4): First of many changes to reduce diffs with internal shared
code:

- Rename some CamelCase variables.
- s/t4_link_start/t4_link_l1cfg/g
- Pull in t4_get_port_type_description.
- Move t4_wait_op_done to t4_hw.c.
- Flip the order of the RDMA stats.
- Remove unsused function t4_iq_start_stop.
- Move t4_wait_op_done and t4_wait_op_done_val to t4_hw.c

296383:
cxgbe(4): Very basic T6 awareness.  This is part of ongoing work to
update to the latest internal shared code.

- Add a chip_params structure to keep track of hardware constants for
  all generations of Terminators handled by cxgbe.
- Update t4_hw_pci_read_cfg4 to work with T6.
- Update the hardware debug sysctls (hidden within dev.<tNnex>.<n>.misc.*) to
  work with T6.  Most of the changes are in the decoders for the CIM
  logic analyzer and the MPS TCAM.
- Acquire the regwin lock around indirect register accesses.

296471:
cxgbe(4): Updated register dumps.

- Get the list of registers to read during a regdump from the shared
  code instead of the OS specific code.  This follows a similar move
  internally.  The shared code includes the list for T6.

- Update cxgbetool to be able to decode T5 VF, T6, and T6 VF register
  dumps (and catch up with some updates to T4 and T5 register decode).

296478:
cxgbe(4): Add a struct sge_params to store per-adapter SGE parameters.
Move the code that reads all the parameters to t4_init_sge_params in the
shared code.  Use these per-adapter values instead of globals.

296481:
cxgbe(4): Overhaul the shared code that deals with the chip's TP block,
which is responsible for filtering and RSS.

Add the ability to use filters that match on PF/VF (aka "VNIC id") while
here.  This is mutually exclusive with filtering on outer VLAN tag with
Q-in-Q.

296485:
cxgbe(4): Update the interrupt handlers for hardware errors.

296488:
cxgbe(4): Updates to mailbox routines in the shared code.

296489:
cxgbe(4): Updates to the shared routines that deal with the serial EEPROM,
flash, and VPD.

296490:
cxgbe(4): Remove __devinit and SPEED_<foo> as part of catch up with
internal shared code.

296491:
cxgbe(4): Updates to shared routines that get/set various parameters via
the firmware.

296493:
cxgbe(4): Use t4_link_down_rc_str in shared code to decode the reason
the link is down, instead of doing it in OS specific code.

296494:
cxgbe(4): Many new functions in the shared code, unused at this time.

296495:
cxgbe(4): Fix t4_tp_get_rdma_stats.

296496:
cxgbe(4): Minor updates to the shared routines that deal with firmware images.

296544:
cxgbe(4): Reshuffle and rototill t4_hw.c, solely to reduce diffs with
the internal shared code.

296710:
cxgbe(4): Catch up with the latest list of card capabilities as reported
by the firmware.

296711:
cxgbe(4): Fix typo in previous commit.

297863:
Rename the 'M_B' macro in t4_regs.h to 'CXGBE_M_B'.

This fixes a conflict with the M_B macro in powerpc's
<machine/db_machdep.h> exposed by the recent addition of DDB commands
to the cxgbe driver.

299685:
cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0.

These firmwares were obtained from the "Chelsio T5/T4 Unified Wire
v2.12.0.3 for Linux" release.  Changes since 1.14.4.0 (which is the
firmware in -STABLE branches) are in the "Release Notes" accompanying
the Unified Wire release and are copy-pasted here as well.

22.1. T5 Firmware
+++++++++++++++++++++++++++++++++

Version : 1.15.37.0
Date    : 04/27/2016
================================================================================

FIXES
-----

BASE:
 - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress
   queue was ignored.
 - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency.
 - Fixed an issue in watchdog which was causing VM bring-up failure after reboot.
 - Fixed 40G link failures with some switches when auto-negotiation enabled.
 - Fixed to improve on link bring-up time.
 - Per port buffer groups size doubled to improve performance.
 - Fixed an issue where bogus d3hot bits were set causing traffic stall.
 - Fixed an issue where sometimes adapter was not seen after reboot.
 - Fixed an issue where iWARP was crashing in conjunction with traffic management.
 - Fixed an issue where link failed to come up after removing twinax cable and
   inserting optical module.

ETH
 - Fixed a link flap issue on T580-CR.

OFLD
 - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag.

FOiSCSI
 - Fixed an issue in recovery path where connection was getting closed before
   recovery processing was done.
 - Fixed an issue in TCP port reuse.
 - Fixed an issue in recovery path when large number (>64) of iSCSI connections
   were in use.
 - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to
   use given inerface.
 - Fixed an issue where fw was sending ENETUNREACH event for normal tcp
   disconnection.

DCBX
 - Fixed an issue where iscsi tlv is sent incorrectly to host. (DCBX CEE)
 - Fixed an issue where apply bit set for APP id was affecting the ETS and PFC
  settings.(DCBX IEEE)
 - Fixed an issue where app priority values are not handled correctly in fw.
  (DCBX IEEE)
 - Fixed an issue where enable/disable dcbx can cause crash. (DCBX CEE,DCBX IEEE)

FOFCoE
 - Removed BB6 support.

ENHANCEMENTS
------------

BASE:
 - Added new interface to program DCA settings in SGE contexts; allow 32-byte
   IQE size
 - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment.
 - Added MPS raw interface.

ETH:
 - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx.

OFLD:
 - WR opcode is returned to host in cqe error response.

22.2. T4 Firmware
+++++++++++++++++

Version : 1.15.37.0
Date    : 04/27/2016
================================================================================

FIXES
-----

BASE:
 - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue
   was ignored.
 - Fixed an issue in watchdog which was causing VM bring-up failure after reboot.
 - Per port buffer groups size doubled to improve performance.
 - Fixed an issue where iWARP was crashing in conjunction with traffic management.

FOiSCSI:
 - Fixed an issue in recovery path where connection was getting closed before
   recovery processing was done.
 - Fixed an issue in TCP port reuse.
 - Fixed an issue in recovery path when large number (>64) of iSCSI connections
   were in use.
 - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to
   use given inerface.

DCBX
 - Fixed an issue where iscsi tlv is sent incorrectly to host.(DCBX CEE)
 - Fixed an issue where enable/disable dcbx can cause crash in firmware.(DCBX CEE)

FOiSCSI
 - Fixes an issue where fw was sending ENETUNREACH event for normal tcp
   disconnection.

FOFCoE
 - Removed BB6 support.

ENHANCEMENTS
------------

BASE:
 - Added MPS raw interface.

ETH:
 - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx.
================================================================================

Sponsored by: Chelsio Communications

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

7 years agoMFC 287297,296236: Cleanups to cxgbetool.
jhb [Fri, 4 Nov 2016 18:16:00 +0000 (18:16 +0000)]
MFC 287297,296236: Cleanups to cxgbetool.

287297:
- Replace N(a)/N(i)/N(T)/LEN(a)/ARRAY_SIZE(a) with nitems()
- Add missing <err.h> for err() and <sys/sysctl.h> for sysctlbyname()
- NULL -> 0 for 5th parameter of sysctlbyname()

Note, the original commit touched several files under tools/tools, but
this commit only includes changes to cxgbetool.

296236:
Fix some whitespace nits in cxgbetool.c.  No functional change.

Sponsored by: Chelsio Communications

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

7 years agoMFC r308270:
gjb [Fri, 4 Nov 2016 17:55:50 +0000 (17:55 +0000)]
MFC r308270:
 MFV r308265: Update tzdata to 2016i.

Sponsored by: The FreeBSD Foundation

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

7 years agoMFC r297207:
trasz [Fri, 4 Nov 2016 14:06:21 +0000 (14:06 +0000)]
MFC r297207:

Make the autofs(5) -hosts map more robust, primarily to make it correctly
handle NFS shares containing whitespace. This also adds the -E parameter
to showmount(8).

PR: 207596
Differential Revision: https://reviews.freebsd.org/D5649

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

7 years agoMFC r287032:
trasz [Fri, 4 Nov 2016 13:59:57 +0000 (13:59 +0000)]
MFC r287032:

Tweak the "rctl_enable" description to not give the impression
of being disabled by default.

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

7 years agoMFC r292210:
trasz [Fri, 4 Nov 2016 13:51:10 +0000 (13:51 +0000)]
MFC r292210:

Fix kernel build with "options GEOM_MOUNTVER".  Previously it was only
working as a kernel module.

PR: 205026

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

7 years agoMFC 295573: Remove duplicate definition (CPL_TRACE_PKT_T5).
jhb [Fri, 4 Nov 2016 04:06:55 +0000 (04:06 +0000)]
MFC 295573: Remove duplicate definition (CPL_TRACE_PKT_T5).

Sponsored by: Chelsio Communications

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

7 years agoMFC 301932: Use sbused() instead of sbspace() to avoid signed issues.
jhb [Fri, 4 Nov 2016 04:01:59 +0000 (04:01 +0000)]
MFC 301932: Use sbused() instead of sbspace() to avoid signed issues.

Inserting a full mbuf with an external cluster into the socket buffer
resulted in sbspace() returning -MLEN.  However, since sb_hiwat is
unsigned, the -MLEN value was converted to unsigned in comparisons.  As a
result, the socket buffer was never autosized.  Note that sb_lowat is signed
to permit direct comparisons with sbspace(), but sb_hiwat is unsigned.
Follow suit with what tcp_output() does and compare the value of sbused()
with sb_hiwat instead.

Note: Since stable/10 does not include sbused(), this uses sb->sb_cc
instead.

Sponsored by: Chelsio Communications

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

7 years agoMFC 290175,290633,299206,300895,301898: Various TOE fixes.
jhb [Fri, 4 Nov 2016 03:49:53 +0000 (03:49 +0000)]
MFC 290175,290633,299206,300895,301898: Various TOE fixes.

290175:
cxgbe/tom: decide whether to shove segments or not only if there is
payload to transmit.

290633:
cxgbe/t4_tom: add a knob to the default configuration file to tune
the TOE for LAN operation.  It is possible to set this to other values
(cluster for networks with little loss and really tight RTTs, and wan
for relatively large RTTs and/or lossy networks) depending on the
environment in which the TOE is being used.

None of this affects plain NIC operation in any way.

299206:
Set the correct vnet in TOE event handlers.

300895:
cxgbe/t4_tom: Exempt RDMA connections from a TCP sanity test for now, to
avoid panicking debug kernels.

t4_tom does not keep track of a connection once it switches to ULP mode
iWARP.  If the connection falls out of ULP mode the driver/hardware seq#
etc. are out of sync.  A better fix would be to figure out what the
current seq# are, update the driver's state, and perform all sanity
checks as usual.

301898:
cxgbe/t4_tom:  Fix inverted assertion in r300895.  It is RDMA
connections and not others that are allowed to fail the receive window
check.

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

7 years agoMFC 277763,280146,287631: Various fixes to DDP.
jhb [Fri, 4 Nov 2016 03:25:34 +0000 (03:25 +0000)]
MFC 277763,280146,287631: Various fixes to DDP.

277763:
Lock the socket buffer before jumping to the 'out' label if sblock()
fails in t4_soreceive_ddp().

280146:
Move special DDP handling for closing a connection into a new
handle_ddp_close() function in t4_ddp.c as the logic is similar
to handle_ddp_data().  This allows all knowledge of the special
DDP mbufs to be private to t4_ddp.c as well.

287631:
Add a comment to clarify how to determine the amount of received DDP
data.

Sponsored by: Chelsio Communications

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

7 years agoMFC r307966:
jch [Thu, 3 Nov 2016 19:58:12 +0000 (19:58 +0000)]
MFC r307966:

Remove an extraneous call to soisconnected() in syncache_socket(),
introduced with r261242.  The useful and expected soisconnected()
call is done in tcp_do_segment().

Has been found as part of unrelated PR:212920 investigation.

Improve slightly (~2%) the maximum number of TCP accept per second.

Tested by: kevin.bowling_kev009.com, jch
Approved by: gnn, hiren
MFC after: 1 week
Sponsored by: Verisign, Inc
Differential Revision: https://reviews.freebsd.org/D8072

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

7 years agoMFC r307994: 3746 ZRLs are racy
avg [Thu, 3 Nov 2016 08:54:35 +0000 (08:54 +0000)]
MFC r307994: 3746 ZRLs are racy

PR: 204037

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

7 years agoMFC r307182,307191,307192: rc.d/zfsbe: new script designed for BE support
avg [Thu, 3 Nov 2016 08:34:37 +0000 (08:34 +0000)]
MFC r307182,307191,307192: rc.d/zfsbe: new script designed for BE support

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

7 years agoMFC: r307694
rmacklem [Thu, 3 Nov 2016 00:58:50 +0000 (00:58 +0000)]
MFC: r307694
A problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
delegations enabled and the Linux NFSv4.1 client was reported in
reviews.freebsd.org/D7891.
I believe that the FreeBSD server behaviour conforms to the RFC and that
the Linux client has a bug. Therefore, I do not think the proposed patch
is appropriate. When nfsrv_writedelegifpos is non-zero, the FreeBSD
server will issue a write delegation for a read open if possible.
The Linux client then erroneously assumes that the credentials used for
the read open can write the file.
This patch reverses the default value for nfsrv_writedelegifpos to 0 so
that the default behaviour is Linux compatible and adds a sysctl that can
be used to set nfsrv_writedelegifpos.

This change should only affect users that are mounting a FreeBSD server
with delegations enabled (they are not enabled by default) with a Linux
NFSv4.1 client mount.

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

7 years agoDocument SA-16:33-35.
gjb [Wed, 2 Nov 2016 18:11:06 +0000 (18:11 +0000)]
Document SA-16:33-35.

Sponsored by: The FreeBSD Foundation

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

7 years agoBackport OpenSSL commit af58be768ebb690f78530f796e92b8ae5c9a4401:
delphij [Wed, 2 Nov 2016 07:09:31 +0000 (07:09 +0000)]
Backport OpenSSL commit af58be768ebb690f78530f796e92b8ae5c9a4401:

  Don't allow too many consecutive warning alerts

  Certain warning alerts are ignored if they are received. This can mean that
  no progress will be made if one peer continually sends those warning alerts.
  Implement a count so that we abort the connection if we receive too many.

  Issue reported by Shi Lei.

This is a direct commit to stable/10 and stable/9.

Security: CVE-2016-8610

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

7 years agoMFC r308197: MFV r308196:
delphij [Wed, 2 Nov 2016 06:58:47 +0000 (06:58 +0000)]
MFC r308197: MFV r308196:

Fix OpenSSH remote Denial of Service vulnerability.

Security: CVE-2016-8858

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

7 years agoMFC 291665,291685,291856,297467,302110,302263: Add support for VIs.
jhb [Mon, 31 Oct 2016 22:45:11 +0000 (22:45 +0000)]
MFC 291665,291685,291856,297467,302110,302263: Add support for VIs.

291665:
Add support for configuring additional virtual interfaces (VIs) on a port.

Each virtual interface has its own MAC address, queues, and statistics.
The dedicated netmap interfaces (ncxgbeX / ncxlX) were already implemented
as additional VIs on each port.  This change allows additional non-netmap
interfaces to be configured on each port.  Additional virtual interfaces
use the naming scheme vcxgbeX or vcxlX.

Additional VIs are enabled by setting the hw.cxgbe.num_vis tunable to a
value greater than 1 before loading the cxgbe(4) or cxl(4) driver.
NB: The first VI on each port is the "main" interface (cxgbeX or cxlX).

T4/T5 NICs provide a limited number of MAC addresses for each physical port.
As a result, a maximum of six VIs can be configured on each port (including
the "main" interface and the netmap interface when netmap is enabled).

One user-visible result is that when netmap is enabled, packets received
or transmitted via the netmap interface are no longer counted in the stats
for the "main" interface, but are not accounted to the netmap interface.

The netmap interfaces now also have a new-bus device and export various
information sysctl nodes via dev.n(cxgbe|cxl).X.

The cxgbetool 'clearstats' command clears the stats for all VIs on the
specified port along with the port's stats.  There is currently no way to
clear the stats of an individual VI.

291685:
Fix build for !TCP_OFFLOAD case.

291856:
Fix RSS build.

297467:
Remove #ifdef's from various structures used in the cxgbe/cxl driver.

This provides a constant ABI and layout for these structures (especially
struct adapter) avoiding some foot shooting.

302110:
cxgbe(4): Merge netmap support from the ncxgbe/ncxl interfaces to the
vcxgbe/vcxl interfaces and retire the 'n' interfaces.  The main
cxgbe/cxl interfaces and tunables related to them are not affected by
any of this and will continue to operate as usual.

The driver used to create an additional 'n' interface for every
cxgbe/cxl interface if "device netmap" was in the kernel.  The 'n'
interface shared the wire with the main interface but was otherwise
autonomous (with its own MAC address, etc.).  It did not have normal
tx/rx but had a specialized netmap-only data path.  r291665 added
another set of virtual interfaces (the 'v' interfaces) to the driver.
These had normal tx/rx but no netmap support.

This revision consolidates the features of both the interfaces into the
'v' interface which now has a normal data path, TOE support, and native
netmap support.  The 'v' interfaces need to be created explicitly with
the hw.cxgbe.num_vis tunable.  This means "device netmap" will not
result in the automatic creation of any virtual interfaces.

The following tunables can be used to override the default number of
queues allocated for each 'v' interface.  nofld* = 0 will disable TOE on
the virtual interface and nnm* = 0 to will disable native netmap
support.

# number of normal NIC queues
hw.cxgbe.ntxq_vi
hw.cxgbe.nrxq_vi

# number of TOE queues
hw.cxgbe.nofldtxq_vi
hw.cxgbe.nofldrxq_vi

# number of netmap queues
hw.cxgbe.nnmtxq_vi
hw.cxgbe.nnmrxq_vi

hw.cxgbe.nnm{t,r}xq{10,1}g tunables have been removed.

--- tl;dr version ---
The workflow for netmap on cxgbe starting with FreeBSD 11 is:
1) "device netmap" in the kernel config.
2) "hw.cxgbe.num_vis=2" in loader.conf.  num_vis > 2 is ok too, you'll
end up with multiple autonomous netmap-capable interfaces for every
port.
3) "dmesg | grep vcxl | grep netmap" to verify that the interface has
netmap queues.
4) Use any of the 'v' interfaces for netmap.  pkt-gen -i vcxl<n>... .
One major improvement is that the netmap interface has a normal data
path as expected.
5) Just ignore the cxl interfaces if you want to use netmap only.  No
need to bring them up.  The vcxl interfaces are completely independent
and everything should just work.
---------------------

302263:
cxgbe(4):  Do not bring up an interface when IFCAP_TOE is enabled on it.
The interface's queues are functional after VI_INIT_DONE (which is short
of interface-up) and that's all that's needed for t4_tom to communicate
with the chip.

Relnotes: yes
Sponsored by: Chelsio Communications

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

7 years agoMFC 289401: cxgbe(4): support for the kernel RSS option.
jhb [Mon, 31 Oct 2016 22:03:44 +0000 (22:03 +0000)]
MFC 289401: cxgbe(4): support for the kernel RSS option.

You need PCBGROUP and RSS in the kernel config to use this.

Note: Since RSS is not present in 10.x this is mostly a no-op and is
stubbed out by removing the #include of opt_rss.h.  This is merged
primarily to reduce conflicts in future merges, however it does add a
couple of diagnostic messages related to RSS buckets vs RX queue
counts.

Discussed with: np
Sponsored by: Chelsio Communications

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

7 years agoMFC r307861:
mm [Mon, 31 Oct 2016 21:57:43 +0000 (21:57 +0000)]
MFC r307861:
Update libarchive to 3.2.2

Most of the post-3.2.1 fixes have already been merged. This update contains
just the version bump and some fixes to the test framework.

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

7 years agoPull in r228705 from upstream libc++ trunk (by Eric Fiselier):
dim [Mon, 31 Oct 2016 18:37:44 +0000 (18:37 +0000)]
Pull in r228705 from upstream libc++ trunk (by Eric Fiselier):

  [libcxx] Fix PR 22468 - std::function<void()> does not accept
  non-void-returning functions

  Summary:
  The bug can be found here: https://llvm.org/bugs/show_bug.cgi?id=22468

  `__invoke_void_return_wrapper` is needed to properly handle calling a
  function that returns a value but where the std::function return type
  is void. Without this '-Wsystem-headers' will cause
  `function::operator()(...)` to not compile.

  Reviewers: eugenis, K-ballo, mclow.lists

  Reviewed By: mclow.lists

  Subscribers: cfe-commits

  Differential Revision: https://reviews.llvm.org/D7444

This should allow newer versions of the graphics/aseprite port to
compile without modification.

Direct commit to stable/10, since stable/11 and head already have this
change.

Reported by: yuri@rawbw.com
PR: 213773

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

7 years agoMFC r307785:
bapt [Mon, 31 Oct 2016 18:29:16 +0000 (18:29 +0000)]
MFC r307785:

Import pci_vendors 2016.10.20

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

7 years agoMFC 282039: Don't use ifm_data. It was used only for self checking debug.
jhb [Mon, 31 Oct 2016 18:12:07 +0000 (18:12 +0000)]
MFC 282039: Don't use ifm_data.  It was used only for self checking debug.

Sponsored by: Chelsio Communications

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

7 years agoMFC r308038:
sbruno [Mon, 31 Oct 2016 16:48:16 +0000 (16:48 +0000)]
MFC r308038:

  The buffer address is always overwritten in the extended descriptor format,
  we have to refresh it ... always.  This fixes problems reported in NetMap
  with em(4) devices after conversion to extended descriptor format in
  svn r293331.

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

7 years agoDocument EN-16:17-18, SA-16:26-32
gjb [Mon, 31 Oct 2016 16:44:31 +0000 (16:44 +0000)]
Document EN-16:17-18, SA-16:26-32

Sponsored by: The FreeBSD Foundation

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

7 years agoMFC r307523: Make pass driver better support CAM_CDB_POINTER flag.
mav [Mon, 31 Oct 2016 07:21:37 +0000 (07:21 +0000)]
MFC r307523: Make pass driver better support CAM_CDB_POINTER flag.

Previously pass driver just ignored the flag, making random kernel code
access user-space pointer, sometime causing crashes even for correctly
written applications if user-level context was switched or swapped out.
This patch tries to copyin the CDB into kernel space to avoid it.

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

7 years agoMFC r307821:
kib [Sun, 30 Oct 2016 11:45:01 +0000 (11:45 +0000)]
MFC r307821:
Use proper type for local variable.

PR: 212520

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

7 years agoAdd posix_tnode to <search.h>.
ed [Sat, 29 Oct 2016 15:04:24 +0000 (15:04 +0000)]
Add posix_tnode to <search.h>.

In r307227 I've refactored the binary search tree functions to use the
posix_tnode type. As this change does not apply cleanly to this version
of FreeBSD, only make the change that matters: add the definition of the
newly introduced type.

This will ease source-level compatibility going forward.

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

7 years agoMFC r306456: Add #ifdef _KERNEL around send_holes_without_birth_time sysctl.
mav [Sat, 29 Oct 2016 08:57:35 +0000 (08:57 +0000)]
MFC r306456: Add #ifdef _KERNEL around send_holes_without_birth_time sysctl.

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

7 years agoMFC r306425: MFV r306423:
mav [Sat, 29 Oct 2016 08:56:43 +0000 (08:56 +0000)]
MFC r306425: MFV r306423:
7402 Create tunable to ignore hole_birth feature

Until we can resolve the numerous hole_birth bugs that have cropped up
recently, and come up with a way going forwards to protect users from
corruption, we should disable the hole_birth feature.  Using a tunable
allows those who are confident that their data is correct to continue to
take advantage of the feature.

Closes #188

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Author: Paul Dagnelie <pcd@delphix.com>

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

7 years agoMFC r306424: MFV r306422:
mav [Sat, 29 Oct 2016 08:54:18 +0000 (08:54 +0000)]
MFC r306424: MFV r306422:
7254 ztest failed assertion in ztest_dataset_dirobj_verify: dirobjs + 1 == usedo
bjs

dsl_dataset_space is looking at the ds_bp's fill count while
dmu_objset_write_ready() is concurrently modifying it. This fix adds an
rrwlock to protect the ds_bp.

Closes #180

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Author: Paul Dagnelie <pcd@delphix.com>

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

7 years agoMFC r307507, r307509, r307515:
mav [Sat, 29 Oct 2016 08:48:01 +0000 (08:48 +0000)]
MFC r307507, r307509, r307515:
Consider device as clean even if SYNCHRONIZE CACHE failed.

If device reservation was preempted by other initiator, our sync request
will always fail.  Without this change CAM tried to sync cache on every
following device close, including numerous GEOM tasting opens/closes,
causing lots of useless noise in logs.

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

7 years agoMFC r307374: Add LU option to control reported provisioning type.
mav [Sat, 29 Oct 2016 08:45:39 +0000 (08:45 +0000)]
MFC r307374: Add LU option to control reported provisioning type.

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

7 years agoMFC r307350: Add LUN options to limit UNMAP and WRITE SAME sizes.
mav [Sat, 29 Oct 2016 08:45:06 +0000 (08:45 +0000)]
MFC r307350: Add LUN options to limit UNMAP and WRITE SAME sizes.

CTL itself has no limits on on UNMAP and WRITE SAME sizes.  But depending
on backends large requests may take too much time.  To avoid that new
configuration options allow to hint initiator maximal sizes it should not
exceed.

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

7 years agoMFC r304918: Decode some new ATA commands found in ACS-3.
mav [Sat, 29 Oct 2016 08:42:43 +0000 (08:42 +0000)]
MFC r304918: Decode some new ATA commands found in ACS-3.

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

7 years agoMFC 272079,272080: cxgbe/tom: Update for syncache_add locking changes.
jhb [Sat, 29 Oct 2016 00:16:43 +0000 (00:16 +0000)]
MFC 272079,272080: cxgbe/tom: Update for syncache_add locking changes.

272079:
cxgbe/tom:  Catch up with r271119, syncache_add doesn't need tcbinfo lock.

272080:
Update comment (missed this bit in r272079).

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

7 years agoMFC r307731: Add names for some DASP devices.
mav [Fri, 28 Oct 2016 19:46:08 +0000 (19:46 +0000)]
MFC r307731: Add names for some DASP devices.

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

7 years agoMFC r300881, r302058 (by asomers):
mav [Fri, 28 Oct 2016 18:25:32 +0000 (18:25 +0000)]
MFC r300881, r302058 (by asomers):
Avoid issuing spa config updates for physical path when not necessary

ZFS's configuration needs to be updated whenever the physical path for a
device changes, but not when a new device is introduced. This is because new
devices necessarily cause config updates, but only if they are actually
accepted into the pool.

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
        Split vdev_geom_set_physpath out of vdev_geom_attrchanged.  When
        setting the vdev's physical path, only request a config update if
        the physical path has changed.  Don't request it when opening a
        device for the first time, because the config sync will happen
        anyway upstack.

sys/geom/geom_dev.c
        Split g_dev_set_physpath and g_dev_set_media out of
        g_dev_attrchanged

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

7 years agoMFC r300059 (by asomers): Speed up vdev_geom_open_by_guids
mav [Fri, 28 Oct 2016 18:24:05 +0000 (18:24 +0000)]
MFC r300059 (by asomers): Speed up vdev_geom_open_by_guids

Speedup is hard to measure because the only time vdev_geom_open_by_guids
gets called on many drives at the same time is during boot. But with
vdev_geom_open hacked to always call vdev_geom_open_by_guids, operations
like "zpool create" speed up by 65%.

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c

        * Read all of a vdev's labels in parallel instead of sequentially.
        * In vdev_geom_read_config, don't read the entire label, including
          the uberblock.  That's a waste of RAM.  Just read the vdev config
          nvlist.  Reduces the IO and RAM involved with tasting from 1MB to
          448KB.

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

7 years agoMFC r298814 (by asomers): Fix a use-after-free when "zpool import" fails
mav [Fri, 28 Oct 2016 18:22:00 +0000 (18:22 +0000)]
MFC r298814 (by asomers): Fix a use-after-free when "zpool import" fails

clear vd->vdev_tsd in vdev_geom_close_locked instead of vdev_geom_detach.
In the latter function, it would fail to happen in certain circumstances
where cp->private was unset.  Ideally, the latter should never happen, but
it can happen when vdev open fails, or where spares are involved.

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

7 years agoMFC r298786 (by asomers):
mav [Fri, 28 Oct 2016 18:20:14 +0000 (18:20 +0000)]
MFC r298786 (by asomers):
Refactor vdev_geom_attach and friends to reduce code duplication

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
        Move checks for provider's sectorsize and mediasize into a single
        location in vdev_geom_attach. Remove the zfs::vdev::taste class;
        it's ok to use the regular vdev class for tasting. Consolidate guid
        checks into a single location in vdev_attach_ok. Consolidate some
        error handling code from vdev_geom_attach into vdev_geom_detach,
        closing a resource leak of geom consumers in the process.

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

7 years agoMFC r294329 (by asomers): Disallow zvol-backed ZFS pools
mav [Fri, 28 Oct 2016 18:18:53 +0000 (18:18 +0000)]
MFC r294329 (by asomers): Disallow zvol-backed ZFS pools

Using zvols as backing devices for ZFS pools is fraught with panics and
deadlocks. For example, attempting to online a missing device in the
presence of a zvol can cause a panic when vdev_geom tastes the zvol.  Better
to completely disable vdev_geom from ever opening a zvol. The solution
relies on setting a thread-local variable during vdev_geom_open, and
returning EOPNOTSUPP during zvol_open if that thread-local variable is set.

Remove the check for MUTEX_HELD(&zfsdev_state_lock) in zvol_open. Its intent
was to prevent a recursive mutex acquisition panic. However, the new check
for the thread-local variable also fixes that problem.

Also, fix a panic in vdev_geom_taste_orphan. For an unknown reason, this
function was set to panic. But it can occur that a device disappears during
tasting, and it causes no problems to ignore this departure.

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

7 years agobump __FreeBSD_version for libzfs_core.h
avg [Fri, 28 Oct 2016 15:20:43 +0000 (15:20 +0000)]
bump __FreeBSD_version for libzfs_core.h

Direct commit.

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

7 years agoMFC r307141: remove a few stray spaces from sys/param.h
avg [Fri, 28 Oct 2016 15:18:11 +0000 (15:18 +0000)]
MFC r307141: remove a few stray spaces from sys/param.h

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

7 years agoMFC r307131: install header files required development with libzfs_core
avg [Fri, 28 Oct 2016 15:15:51 +0000 (15:15 +0000)]
MFC r307131: install header files required development with libzfs_core

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

7 years agoMFC r307130: smbus: allow child devices to be added via hints
avg [Fri, 28 Oct 2016 15:02:24 +0000 (15:02 +0000)]
MFC r307130: smbus: allow child devices to be added via hints

Note that r281985 has never been MFC-ed to this branch, so this
commit contains a couple of bits from that commit.

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