]>
CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
sephe [Fri, 14 Oct 2016 02:34:03 +0000 (02:34 +0000)]
MFC 306072-306074,306076
306072
hyperv/vmbus: Allow bufrings preallocation.
The assumption that the channel is only opened upon synthetic device
attach time no longer holds, e.g. Hyper-V network device MTU changes.
We have to allow device drivers to preallocate bufrings, e.g. in
attach DEVMETHOD, to prevent bufring allocation failure once the
system memory is fragmented after running for a while.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7960
306073
hyperv/hn: Allocate bufrings in attach DEVMETHOD.
So that reinitialization, e.g. MTU change, will not fail when the system
memory is excessively fragmented.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7961
306074
hyperv/vmbus: Assert that the bufring address is page aligned.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7962
306076
hyperv/hn: Put debug messages under bootverbose
While I'm here, strip blank line.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7963
git-svn-id: svn://svn.freebsd.org/base/stable/10@307247
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Fri, 14 Oct 2016 02:27:19 +0000 (02:27 +0000)]
MFC 306013,306014
306013
hyperv/hn: Fix ifnet hwassist setup.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7948
306014
hyperv/hn: Let the caller of hn_nvs_doinit() do the error logging.
So that NVS version probing failure does not look too scary.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7950
git-svn-id: svn://svn.freebsd.org/base/stable/10@307246
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Fri, 14 Oct 2016 02:19:47 +0000 (02:19 +0000)]
MFC 305962,305964-305967
305962
hyperv/hn: Don't allow NVS and NDIS version change upon reinitailization
NVS and NDIS version change would break too much assumption and static
configuration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7919
305964
hyperv/hn: Save capabilities for later use.
And don't allow capability changes during reinitialization, which
breaks too much static configuration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7922
305965
hyperv/hn: Don't allow MTU change, if it is not supported by the NVS.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7923
305966
hyperv/hn: Stringent RSS sysctl checks
- Don't change RNDIS RSS configuration for RSS key sysctl, if the
interface is not capable of RSS yet.
- Don't change RSS indirect table (both cached one and RNDIS RSS
configuration), if the interface is not capable of RSS yet.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7924
305967
hyperv/hn: Allow RSS capability flipping upon attach/reinit.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7927
git-svn-id: svn://svn.freebsd.org/base/stable/10@307245
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Fri, 14 Oct 2016 02:03:53 +0000 (02:03 +0000)]
MFC 305722
x86: Use sx lock for interrupt sources.
- Certain pic_assign_cpu, e.g. msi_assign_cpu can have quite a long
call chain. For msi_assign_cpu, mutex makes complex PCI bridge
drivers more tricky, e.g. sleep can note be called, etc, it will
be pretty tricky for upcoming Hyper-V PCI bridge driver for PCI
pass-through.
- It is not used on any hot code path nor non-sleepable context, so
sx should have the same effect as mutex.
PIC list is still protected by mutex to keep suspend/resume work.
Discussed with: jhb
Reviewed by: jhb
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7784
git-svn-id: svn://svn.freebsd.org/base/stable/10@307244
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
royger [Thu, 13 Oct 2016 09:37:21 +0000 (09:37 +0000)]
MFC r303491:
Revert r291022: x86/intr: allow mutex recursion in intr_remove_handler
Sponsored by: Citrix Systems R&D
git-svn-id: svn://svn.freebsd.org/base/stable/10@307213
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 09:27:08 +0000 (09:27 +0000)]
MFC 305925,305926,305960
305925
hyperv/hn: Don't mess up RSS key and indirect table after attachment.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7889
305926
hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7890
305960
hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7916
git-svn-id: svn://svn.freebsd.org/base/stable/10@307212
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 09:18:56 +0000 (09:18 +0000)]
MFC 305801,305923,305924
305801
hyperv/hn: Fix some ifnet settings
- ifnet.if_mtu does not require explicit setting.
- ifnet.if_hdrlen must be set after ether_ifattach().
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7873
305923
hyperv/hn: Regroup ifnet setup code.
While I'm here, add comment along the attach DEVMETHOD.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7874
305924
hyperv/hn: Put debug message under bootverbose
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7875
git-svn-id: svn://svn.freebsd.org/base/stable/10@307211
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 09:00:44 +0000 (09:00 +0000)]
MFC 305794
hyperv/hn: Use sx for the main lock.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7870
git-svn-id: svn://svn.freebsd.org/base/stable/10@307209
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:56:52 +0000 (08:56 +0000)]
MFC 305790-305793
305790
hyperv/hn: Remove unused softc field
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7866
305791
hyperv/hn: Deprecate hn_softc_t
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7867
305792
hyperv/hn: Function renaming: hn_ifinit -> hn_init
No functional changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7868
305793
hyperv/hn: Cleanup hn_ioctl.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7869
git-svn-id: svn://svn.freebsd.org/base/stable/10@307208
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:50:18 +0000 (08:50 +0000)]
MFC 305789
hyperv/vmbus: Make sure that the sub-channel count is valid.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7865
git-svn-id: svn://svn.freebsd.org/base/stable/10@307207
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:47:51 +0000 (08:47 +0000)]
MFC 305724,305725,305727-305730,305760,305761,305763,305788
305724
hyperv/hn: Rename RXBUF connect/disconnect functions.
Minor cleanup and wording in error messages.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7823
305725
hyperv/hn: Rename chimney sending buffer connect/disconnect functions.
Minor cleanup and wording in error messages.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7825
305727
hyperv/hn: Function rename.
- Minor style changes.
- Nuke unnecessary indirection.
- Nuke unapplied comment.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7827
305728
hyperv/hn: Reorganize sub-channel allocation.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7829
305729
hyperv/hn: Reorganize RNDIS attach
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7830
305730
hyperv/hn: Pull ether address and link status extraction up.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7831
305760
hyperv/hn: Reorganize channel attach/detach code.
This paves the way for further attach/detach code reorganization.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7858
305761
hyperv/hn: Regroup synthetic parts attach code.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7859
305763
hyperv/hn: Reorganize synthetic parts attach code.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7860
305788
hyperv/hn: Pull RSS key and indirect table setup up.
This paves the way for the dynamic RSS key and indirect table setting.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7864
git-svn-id: svn://svn.freebsd.org/base/stable/10@307206
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:09:40 +0000 (08:09 +0000)]
MFC 305588
pxeboot: Add nfs.read_size tunable.
Increase this tunable improves kernel loading speed.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: rpokala, wblock (previous version)
Obtained from: DragonFlyBSD
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7756
git-svn-id: svn://svn.freebsd.org/base/stable/10@307203
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:06:49 +0000 (08:06 +0000)]
MFC 305586,305587
305586
hyperv/hn: Function renaming.
While I'm here, remove obvious comment.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7810
305587
hyperv/hn: Factor out NVS NDIS initialization
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7811
git-svn-id: svn://svn.freebsd.org/base/stable/10@307202
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:03:48 +0000 (08:03 +0000)]
MFC 305585
hyperv/kvp: Fix IPv4/IPv6 address injection support.
The GUID string provided by hypervisor has leading and trailing braces,
while our GUID string does not have braces at all. Both braces should
be ignored, when the GUID strings are compared.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7809
git-svn-id: svn://svn.freebsd.org/base/stable/10@307201
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 08:01:38 +0000 (08:01 +0000)]
MFC 305578-305581
305578
hyperv/hn: Pull vmbus channel open up.
While I'm here, pull up the channel callback related code too.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7805
305579
hyperv/hn: Push RXBUF size adjustment down.
It is not used in other places.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7806
305580
hyperv/hn: Factor out function to do NVS initialization.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7807
305581
hyperv/hn: Pass MTU around.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7808
git-svn-id: svn://svn.freebsd.org/base/stable/10@307200
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 07:52:39 +0000 (07:52 +0000)]
MFC 305454,305455,305521,305524-305526
305454
hyperv/hn: Fix VLAN tag setup for outgoing VLAN packets.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7785
305455
hyperv/hn: Avoid bit fields for LSOv2 setup.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7786
305521
hyperv/hn: Avoid bit fields for TXCSUM setup.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7792
305524
hyperv/hn: Cleanup RNDIS packet message encapsulation.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7793
305525
hyperv/hn: Simplify per-packet-info construction.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7794
305526
hyperv/hn: Nuke unused bits
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7795
git-svn-id: svn://svn.freebsd.org/base/stable/10@307199
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 07:42:44 +0000 (07:42 +0000)]
MFC 305405,305407,305408,305410,305411,305453
305405
hyperv/vmbus: Stringent header length and total length check.
While I'm here, minor style changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7752
305407
hyperv/hn: Stringent NVS notification length check.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7753
305408
hyperv/hn: Stringent NVS RNDIS packets length checks.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7755
305410
net/rndis: Define RNDIS status message, which could be sent by device.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7757
305411
hyperv/hn: Stringent RNDIS control message length check.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7758
305453
hyperv/hn: Stringent RNDIS packet message length/offset check.
While I'm here, use definition in net/rndis.h
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7782
git-svn-id: svn://svn.freebsd.org/base/stable/10@307198
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 07:35:19 +0000 (07:35 +0000)]
MFC 305279-305281
305279
hyperv/ic: Minor style fix.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7743
305280
hyperv/ic: Cleanup shutdown channel callback.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7744
305281
hyperv/ic: Cleanup timesync channel callback.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7745
git-svn-id: svn://svn.freebsd.org/base/stable/10@307197
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 07:22:13 +0000 (07:22 +0000)]
MFC 305277,305278
305277
net/rndis: Add comment for rndis_comp_hdr
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7738
305278
net/rndis: Define common message header for RNDIS messages.
And avoid RNDIS_HEADER_OFFSET hardcoding.
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7739
git-svn-id: svn://svn.freebsd.org/base/stable/10@307194
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 07:17:04 +0000 (07:17 +0000)]
MFC 305175,305176,305179,305182,305268,305270,305276
305175
net/rndis: Define per-packet-info for RNDIS packet message
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7708
305176
hyperv/hn: Stringent per-packet-info verification.
While I'm here, minor style changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7709
305179
hyperv/hn: Fix VLAN tag construction.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7716
305182
net/rndis: Define types for RNDIS pktinfo rm_type field.
They are defined by NDIS spec, so the NDIS prefix.
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7717
305268
hyperv/hn: Rework RXCSUM related bits
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7735
305270
hyperv/hn: Simplify RX hash related bits.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7736
305276
hyperv/hn: Use the per-packet-info types defined by net/rndis.h
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7737
git-svn-id: svn://svn.freebsd.org/base/stable/10@307193
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:55:51 +0000 (06:55 +0000)]
MFC 305173,305174
305173
net/rndis: Add comment for rndis_set_parameter
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7705
305174
hyperv/hn: Remove unused function
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7706
git-svn-id: svn://svn.freebsd.org/base/stable/10@307188
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:49:00 +0000 (06:49 +0000)]
MFC 305111
hyperv/timesync: Rework time adjustment policy
- By default, adjust time upon SYNC request. It can be disabled
through hw.hvtimesync.ignore_sync_req. SYNC request will be
sent by hypervisor the host is resumed, rebooted, etc.
- By default, adjust time upon SAMPLE request, if there is 100ms
difference between VM time and hypervisor time. This can be
disabled through hw.hvtimesync.sample_drift.
And nuke the unnecessary task, since channel callback is running
in a Hyper-V taskqueue nowadays.
Submitted by: YanZhe Chen <t-yachen microsoft com>
Discussed with: Dexuan Cui <decui microsoft com>, Hongjiang Zhang <honzhan microsoft com>, sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7707
git-svn-id: svn://svn.freebsd.org/base/stable/10@307187
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:47:02 +0000 (06:47 +0000)]
MFC 305052-305054,305110
305052
hyperv/hn: Remove the useless rndis_device and related bits
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7687
305053
hyperv/hn: Log packet message alignment.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7689
305054
hyperv/hn: Remove unnecessary NULL check.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7690
305110
hyperv/hn: Consolidate NVS transaction execution.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7704
git-svn-id: svn://svn.freebsd.org/base/stable/10@307186
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:39:06 +0000 (06:39 +0000)]
MFC 305049,305050
305049
hyperv/hn: Factor out func to exec RNDIS transaction w/o checking result
It will be used by RNDIS HALT and RESET.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7685
305050
hyperv/hn: Switch to new RNDIS transaction execution for halt.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7686
git-svn-id: svn://svn.freebsd.org/base/stable/10@307185
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:34:18 +0000 (06:34 +0000)]
MFC 304973,304975,304976,304979,305044-305048
304973
hyperv/hn: Switch to new RNDIS query for link status extraction.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7654
304975
hyperv/hn: Switch to new RNDIS query for RSS capabilities extraction.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7656
304976
hyperv/hn: Fix # of channels setting, if RSS is not available.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7657
304979
hyperv/hn: Switch to new RNDIS set for RSS parameters.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7658
305044
hyperv/hn: Move OIDs to net/rndis.h; they are standard NDIS OIDs.
Actually all OIDs defined in net/rndis.h are standard NDIS OIDs.
While I'm here, use the verbose macro name as in NDIS spec.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7679
305045
hyperv/hn: Indentation and field comment fixup for ndis.h.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7680
305046
net/rndis: Packet types are defined by NDIS; not RNDIS specific.
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7681
305047
hyperv/hn: Switch to new RNDIS set for RX filters.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7683
305048
hyperv/hn: Remove unused function
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7684
git-svn-id: svn://svn.freebsd.org/base/stable/10@307184
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
np [Thu, 13 Oct 2016 06:32:21 +0000 (06:32 +0000)]
bhyve(8): Fix typo from r294294 that prevented bhyve from working with
vmnet devices. This is a direct commit to stable/10.
git-svn-id: svn://svn.freebsd.org/base/stable/10@307183
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:17:33 +0000 (06:17 +0000)]
MFC 304832-304834,304972
304832
hyperv/hn: Use vmbus xact for RNDIS query.
And switch MAC address query to use new RNDIS query function.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7639
304833
hyperv/hn: Save the adopted NDIS version for RNDIS to use later.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7640
304834
hyperv/hn: Use vmbus xact for RNDIS set.
And use new RNDIS set to configure NDIS offloading parameters.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7641
304972
hyperv/hn: Add definition for NDIS media state.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7652
git-svn-id: svn://svn.freebsd.org/base/stable/10@307181
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 06:09:26 +0000 (06:09 +0000)]
MFC 304790,304791
304790
hyperv/vmbus: Add function to calculate max # of elements in a bufring.
Sponsored by: Microsoft
304791
hyperv/storvsc: Increase queue depth and rework channel selection.
- Increasing queue depth gives ~100% performance improvement for
randwrite fio test in Azure.
- New channel selection, which takes LUN id and the current cpuid
into consideration, gives additional ~20% performance improvement
for ranwrite fio test in Azure.
Submitted by: Hongzhang Jiang <honzhan microsoft com>
Modified by: sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7622
git-svn-id: svn://svn.freebsd.org/base/stable/10@307180
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 05:59:33 +0000 (05:59 +0000)]
MFC 304786,304788
304786
hyperv/ic: Cleanup heartbeat channel callback.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7626
304788
hyperv/ic: Update total message size if negotiate message size grows.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7627
git-svn-id: svn://svn.freebsd.org/base/stable/10@307179
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 05:20:31 +0000 (05:20 +0000)]
MFC 304783-304785
304783
hyperv/hn: Use definition in net/rndis.h for message type and status code.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7620
304784
hyperv/hn: Add compat code for RNDIS reorganization phase.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7621
304785
hyperv/hn: Use vmbus xact for RNDIS initialize.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7624
git-svn-id: svn://svn.freebsd.org/base/stable/10@307178
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 04:32:55 +0000 (04:32 +0000)]
MFC 304730
hyperv/ic: Redefine IC version negotiate message.
And stringent input IC version negotiate message checks.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7614
git-svn-id: svn://svn.freebsd.org/base/stable/10@307177
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 04:24:34 +0000 (04:24 +0000)]
MFC 304724,304728
304724
hyperv/hn: Remove the redundant rid setting for RNDIS HALT.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7595
304728
hyperv/hn: Log a warning for RESET_CMPLT.
RESET is not used by the hn(4) at all, and RESET_CMPLT does not even
have a rid to match with the pending requests. So, let's put it
onto an independent switch branch and log a warning about it.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7602
git-svn-id: svn://svn.freebsd.org/base/stable/10@307176
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 03:23:43 +0000 (03:23 +0000)]
MFC 304654,304722,304723
304654
net: Split RNDIS protocol structs/macros out of dev/usb/net/if_urndisreg.h
So that Hyper-V can leverage them instead of rolling its own definition.
Discussed with: hps
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7592
304722
net/rndis: Add canonical RNDIS major/minor version as of today.
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7593
304723
net/rndis: Fix RNDIS_STATUS_PENDING definition.
While I'm here, sort the RNDIS status in ascending order.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7594
git-svn-id: svn://svn.freebsd.org/base/stable/10@307175
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 03:16:15 +0000 (03:16 +0000)]
MFC 304441,304444,304446,304447,304591,304593-304595
304441
hyperv/hn: Move NVS version to softc
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7553
304444
hyperv/hn: Remove assign-only struct field
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7554
304446
hyperv/hn: Remove the useless num_channel
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7555
304447
hyperv/hn: Move RXBUF to hn_softc
And don't recreate RXBUF for each primary channel open, it is now
created in device_attach DEVMETHOD and destroyed in device_detach
DEVMETHOD.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7556
304591
hyperv/hn: Move chimney sending buffer to hn_softc
And don't recreate chimney sending buffer for each primary channel
open, it is now created in device_attach DEVMETHOD and destroyed
in device_detach DEVMETHOD.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7574
304593
hyperv/hn: Get rid of netvsc_dev
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7575
304594
hyperv/hn: Factor out function to execute NVS transactions.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7577
304595
hyperv/hn: Factor out function to simplify NVS request sending
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7578
git-svn-id: svn://svn.freebsd.org/base/stable/10@307174
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 03:00:56 +0000 (03:00 +0000)]
MFC 304331
hyperv/kvp: Remove unnecessary function parameter.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7550
git-svn-id: svn://svn.freebsd.org/base/stable/10@307170
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 02:58:53 +0000 (02:58 +0000)]
MFC 304327,304329,304330
304327
hyperv/hn: Pass RX packet info to netvsc_recv.
This paves to nuke netvsc_packet, which does not serves much
purpose now.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7541
304329
hyperv/hn: Constify RNDIS messages on RX path.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7542
304330
hyperv/hn: Get rid of the useless netvsc_packet
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7544
git-svn-id: svn://svn.freebsd.org/base/stable/10@307169
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 02:45:08 +0000 (02:45 +0000)]
MFC 304270,304273
304270
hyperv/util: Don't reference hn_softc in KVP
hn_softc is private data struct.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7519
304273
hyperv/util: Factor out helper for IC device_probe DEVMETHOD
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7530
git-svn-id: svn://svn.freebsd.org/base/stable/10@307168
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 02:38:46 +0000 (02:38 +0000)]
MFC 304204-304206,304252-304256
304204
hyperv/hn: Factor out hn_nvs_send/hn_nvs_send_sglist
Avoid unnecessary message type setting and centralize the send context
to transaction id cast.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7500
304205
hyperv/hn: Simplify RNDIS NVS message sending.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7501
304206
hyperv/hn: Simplify RNDIS message checks on RX path.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7502
304252
hyperv/hn: Ignore the useless TX table.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7514
304253
hyperv/hn: Simplify RNDIS RX packets acknowledgement.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7515
304254
hyperv/hn: Remove reference to nvsp_msg
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7516
304255
hyperv/hn: Remove reference to nvsp_status
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7517
304256
hyperv/hn: Get rid of unused bits
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7518
git-svn-id: svn://svn.freebsd.org/base/stable/10@307167
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
jtl [Thu, 13 Oct 2016 02:31:32 +0000 (02:31 +0000)]
MFC r306766:
Remove declaration of un-defined function tcp_seq_subtract().
git-svn-id: svn://svn.freebsd.org/base/stable/10@307165
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 02:28:40 +0000 (02:28 +0000)]
MFC 303945,303947-303949,303989,303992,303998,304001,304002,304109,304111
303945
hyperv/vmbus: Add macro to get channel packet data length.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7455
303947
hyperv/vmbus: Add APIs for various types of transactions.
Reviewed by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7456
303948
hyperv/hn: Switch to vmbus xact APIs for NVS initialization
Reviewed by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7457
303949
hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
Avoid code duplication.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7458
303989
hyperv/hn: Simplify NDIS configuration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7466
303992
hyperv/hn: Simplify NDIS initialization.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7467
303998
hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7469
304001
hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7470
304002
hyperv/hn: Simplify RXBUF disconnection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7472
304109
hyperv/hn: Simplify chimney sending buffer disconnection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7479
304111
hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7480
git-svn-id: svn://svn.freebsd.org/base/stable/10@307164
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 01:58:49 +0000 (01:58 +0000)]
MFC 303944
cam/da: Add quirk for I-O Data USB Flash Disk
PR: 211716
Submitted by: Jun Su <junsu microsoft com>
Reported by: Jun Su <junsu microsoft com>
Sponsored by: Microsoft
git-svn-id: svn://svn.freebsd.org/base/stable/10@307162
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 01:51:49 +0000 (01:51 +0000)]
MFC 303867,303901
303867
hyperv/hn: Move gpa array out of netvsc_packet.
Prepare to deprecate the netvsc_packet.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7436
303901
hyperv/hn: Reorganize send done callback.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7450
git-svn-id: svn://svn.freebsd.org/base/stable/10@307161
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Thu, 13 Oct 2016 01:43:15 +0000 (01:43 +0000)]
MFC 303822-303824
303822
hyperv/ic: Remove never used second parameter of hv_negotiate_version()
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7422
303823
hyperv/ic: Expose the receive buffer length for callers to use.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7423
303824
hyperv/ic: Pass the channel callback to hv_util_attach()
The saved channel callback in util softc is actually never used.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7424
git-svn-id: svn://svn.freebsd.org/base/stable/10@307160
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
jilles [Wed, 12 Oct 2016 20:19:33 +0000 (20:19 +0000)]
MFC r305628: intro(2),_exit(2): Update for reaper
(procctl(PROC_REAP_ACQUIRE)).
git-svn-id: svn://svn.freebsd.org/base/stable/10@307155
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
avg [Wed, 12 Oct 2016 11:48:47 +0000 (11:48 +0000)]
MFC r306665: zfs: fix a wrong assertion for extended attributes
PR: 213112
git-svn-id: svn://svn.freebsd.org/base/stable/10@307143
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mm [Wed, 12 Oct 2016 10:28:54 +0000 (10:28 +0000)]
MFC r306670:
Sync libarchive with vendor including security fixes.
Important vendor bugfixes (relevant to FreeBSD):
#747: Out of bounds read in mtree parser
#761: heap-based buffer overflow in read_Header (7-zip)
#794: Invalid file on bsdtar command line results in internal errors (1)
PR: 213092 (1)
git-svn-id: svn://svn.freebsd.org/base/stable/10@307139
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 09:27:39 +0000 (09:27 +0000)]
MFC 303603-303605,303764
303603
hyperv/vmbus: Remove the artificial entry limit of SG and PRP list.
Just make sure that the total channel packet size does not exceed 1/2
data size of the TX bufring.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7359
303604
hyperv/storvsc: Set maxio to 128KB.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7360
303605
hyperv/storvsc: Stringent PRP list assertions
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7361
303764
hyperv/vmbus: Only make sure the TX bufring will not be closed.
KVP can write data, whose size is > 1/2 TX bufring size.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7414
git-svn-id: svn://svn.freebsd.org/base/stable/10@307137
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 09:13:16 +0000 (09:13 +0000)]
MFC 303474
hyperv/storvsc: Use busdma(9) and enable PIM_UNMAPPED by default.
The UNMAPPED I/O greatly improves userland direct disk I/O performance
by 35% ~ 135%.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7195
git-svn-id: svn://svn.freebsd.org/base/stable/10@307134
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 08:58:03 +0000 (08:58 +0000)]
MFC 303421,303422,303470-303473
303421
hyperv/vmbus: Avoid unnecessary mb()
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7333
303422
hyperv/vmbus: Inclusion cleanup
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7334
303470
hyperv/vmbus: Reindent function declarations.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7344
303471
hyperv/vmbus: Forward declare static functions
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7346
303472
hyperv/vmbus: Move driver glue to the beginning of the files
Just as most of other drivers do. And move sysinit function close
to its SYSINIT.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7347
303473
hyperv/vmbus: Revoke unnecessary exposure of vmbus softc
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7348
git-svn-id: svn://svn.freebsd.org/base/stable/10@307133
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:50:47 +0000 (05:50 +0000)]
MFC 306699: Do not retry on some security sense codes.
git-svn-id: svn://svn.freebsd.org/base/stable/10@307129
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:47:06 +0000 (05:47 +0000)]
MFC r305224: MFV r304158:
7136 ESC_VDEV_REMOVE_AUX ought to always include vdev information
7115 6922 generates ESC_ZFS_VDEV_REMOVE_AUX a bit too often
illumos/illumos-gate@
b72b6bb10ad55121a1b352c6f68ebdc8e20c9086
https://github.com/illumos/illumos-gate/commit/
b72b6bb10ad55121a1b352c6f68ebdc8e
20c9086
https://www.illumos.org/issues/7136
6922 added ESC_ZFS_VDEV_REMOVE_AUX and ESC_ZFS_VDEV_REMOVE_DEV sysevents
whenever an aux device gets removed from a pool. However, those sysevents will
be created without the vdev_guid and vdev_path fields. It would be better to
always populate those fields.
https://www.illumos.org/issues/7115
The addition of spa_event_notify in vdev removal code (see #6922) causes event
s
to be generated even if the spare failed to be removed with EBUSY.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Alan Somers <asomers@gmail.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307127
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:46:21 +0000 (05:46 +0000)]
MFC r305222: MFV r302993: 7104 increase indirect block size
illumos/illumos-gate@
4b5c8e93cab28d3c65ba9d407fd8f46e3be1db1c
https://github.com/illumos/illumos-gate/commit/
4b5c8e93cab28d3c65ba9d407fd8f46e3
be1db1c
https://www.illumos.org/issues/7104
The current default indirect block size is 16KB. We can improve
performance by increasing it to 128KB. This is especially helpful for
any workload that needs to read most of the metadata, e.g.
scrub/resilver, file deletion, filesystem deletion, and zfs send.
We also need to fix a few space estimation errors to make the tests
pass.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307126
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:45:40 +0000 (05:45 +0000)]
MFC r305221: MFV r302992:
7071 lzc_snapshot does not fill in errlist on ENOENT
illumos/illumos-gate@
25f7d993adbfb3452ac4625b3791670746d35ae3
https://github.com/illumos/illumos-gate/commit/
25f7d993adbfb3452ac4625b379167074
6d35ae3
https://www.illumos.org/issues/7071
upstream
DLPX-40482 lzc_snapshot does not fill in errlist on ENOENT
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307125
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:44:54 +0000 (05:44 +0000)]
MFC r305211: MFV r302662: 6447 handful of nvpair cleanups
illumos/illumos-gate@
759e89be359f2af635e4122d147df56bce948773
https://github.com/illumos/illumos-gate/commit/
759e89be359f2af635e4122d147df56bc
e948773
https://www.illumos.org/issues/6447
I got a patch from someone who uses nvpair code outside of illumos. It fixes a
couple of gcc warnings/bugs for him.
1. silence uninitialized use warnings
2. add parentheses around assignment used as truth value
3. fix printf format specifier (ll is for integers only)
4. strstr, strspn, strcspn, and strcmp are declared in string.h, not
strings.h.
5. avoid scanning integer into boolean variable
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Steve Dougherty <sdougherty@barracuda.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307124
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:44:12 +0000 (05:44 +0000)]
MFC r305210: MFV r302661:
7082 bptree_iterate() passes wrong args to zfs_dbgmsg()
illumos/illumos-gate@
10e67aa0db0823d5464aafdd681f3c966155c68e
https://github.com/illumos/illumos-gate/commit/
10e67aa0db0823d5464aafdd681f3c966
155c68e
https://www.illumos.org/issues/7082
upstream
DLPX-40542 bptree_iterate() passes wrong args to zfs_dbgmsg()
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307123
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:43:25 +0000 (05:43 +0000)]
MFC r305209: MFV r302660: 6314 buffer overflow in dsl_dataset_name
illumos/illumos-gate@
9adfa60d484ce2435f5af77cc99dcd4e692b6660
https://github.com/illumos/illumos-gate/commit/
9adfa60d484ce2435f5af77cc99dcd4e6
92b6660
https://www.illumos.org/issues/6314
Callers of dsl_dataset_name pass a buffer of size ZFS_MAXNAMELEN, but
dsl_dataset_name copies the datasets' name PLUS the snapshot name to it,
resulting in a max of 2 * ZFS_MAXNAMELEN + '@'.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307122
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:42:00 +0000 (05:42 +0000)]
MFC r305206: MFV r302658:
6872 zfs libraries should not allow uninitialized variables
illumos/illumos-gate@
f83b46baf98d276f5f84fa84c8b461f412ac1f5e
https://github.com/illumos/illumos-gate/commit/
f83b46baf98d276f5f84fa84c8b461f41
2ac1f5e
https://www.illumos.org/issues/6872
We compile the zfs libraries with -Wno-uninitialized. We should remove
this. Change makefiles, fix new warnings, fix pbchk errors.
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Paul Dagnelie <pcd@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307121
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:41:10 +0000 (05:41 +0000)]
MFC r305205: MFV r302657:
4521 zfstest is trying to execute evil "zfs unmount -a"
illumos/illumos-gate@
8808ac5dae118369991f158b6ab736cb2691ecde
https://github.com/illumos/illumos-gate/commit/
8808ac5dae118369991f158b6ab736cb2
691ecde
https://www.illumos.org/issues/4521
zfstest is trying to execute evil "zfs unmount -a", which fails (fortunately,
as it would otherwise leave me with my ~ missing):
03:44:11.86 cannot unmount '/export/home/yuri': Device busy cannot unmount '/
export/home': Device busy
03:44:11.86 ERROR: /usr/sbin/zfs unmount -a exited 1
This affects, at least, zfs_mount_009_neg and zfs_mount_all_001_pos, both
failing on that step. The pool containing the /export/home hierarchy is
included in KEEP variable, but it doesn't seem to affect anything here.
Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Yuri Pankov <yuri.pankov@nexenta.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307120
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:39:29 +0000 (05:39 +0000)]
MFC r305203: MFV r302655: 6873 zfs_destroy_snaps_nvl leaks errlist
illumos/illumos-gate@
4cde22c29999ffb907ca39d2ebd512812f7e5168
https://github.com/illumos/illumos-gate/commit/
4cde22c29999ffb907ca39d2ebd512812
f7e5168
https://www.illumos.org/issues/6873
lzc_destroy_snaps() returns an nvlist in errlist.
zfs_destroy_snaps_nvl() should nvlist_free() it before returning.
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Chris Williamson <chris.williamson@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307119
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:38:44 +0000 (05:38 +0000)]
MFC r305202: MFV r302654:
6879 incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c
illumos/illumos-gate@
20fea7a47472aceb64d3ed48cc2a3ea268bc4795
https://github.com/illumos/illumos-gate/commit/
20fea7a47472aceb64d3ed48cc2a3ea26
8bc4795
https://www.illumos.org/issues/6879
In libzfs_sendrecv, there's a typo:
case DRR_SPILL:
if (byteswap) {
drr->drr_u.drr_write.drr_length =
BSWAP_64(drr->drr_u.drr_spill.drr_length);
}
Instead of drr_write.drr_length, we should be assigning the result of the
byteswap to drr_spill.drr_length.
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Dan Kimmel <dan.kimmel@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307118
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:37:54 +0000 (05:37 +0000)]
MFC r305201: MFV r302653:
6111 zfs send should ignore datasets created after the ending snapshot
illumos/illumos-gate@
4a20c933b148de8a1c1d3538391c64284e636653
https://github.com/illumos/illumos-gate/commit/
4a20c933b148de8a1c1d3538391c64284
e636653
https://www.illumos.org/issues/6111
If you create a zfs child folder, zfs send returns an error when a recursive
incremental send is done between two snapshots made prior to the folder
creation.
The problem can be reproduced with the following steps.
root@zfs:/# zfs create pool/test
root@zfs:/# zfs snapshot pool/test@snap1
root@zfs:/# zfs snapshot pool/test@snap2
root@zfs:/# zfs create pool/test/child
root@zfs:/# zfs send -R -I pool/test@snap1 pool/test@snap2 > /dev/null
WARNING: could not send pool/test/child@snap2: does not exist
WARNING: could not send pool/test/child@snap2: does not exist
root@zfs:/# echo $?
1
root@zfs:/# zfs snapshot -r pool/test@snap3
root@zfs:/# zfs send -R -I pool/test@snap1 pool/test@snap3 > /dev/null
root@zfs:/# echo $?
0
root@zfs:/# zfs send -R -I pool/test@snap2 pool/test@snap3 > /dev/null
root@zfs:/# echo $?
0
Since pool/test/child was created after snap2, zfs send should not expect snap2
to be in pool/test/child when doing a recursive send. It should examine the
compare the creation time of the snapshot and each child folder to decide if
the folder will be sent. The next incremental send between snap2 and snap3
would properly create the child folder and snap3 which first appears in the
child folder.
The problem is identical if '-i' is used instead of '-I'.
Reviewed by: Alex Aizman alex.aizman@nexenta.com
Reviewed by: Alek Pinchuk alek.pinchuk@nexenta.com
Reviewed by: Roman Strashkin roman.strashkin@nexenta.com
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Alex Deiter <alex.deiter@nexenta.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307117
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Wed, 12 Oct 2016 05:36:55 +0000 (05:36 +0000)]
MFC r305194: MFV r302642:
6876 Stack corruption after importing a pool with a too-long name
illumos/illumos-gate@
c971037baa5d64dfecf6d87ed602fc3116ebec41
https://github.com/illumos/illumos-gate/commit/
c971037baa5d64dfecf6d87ed602fc3116ebec41
https://www.illumos.org/issues/6876
Calling dsl_dataset_name on a dataset with a 256 byte buffer is asking for
trouble. We should check every dataset on import, using a 1024 byte buffer and
checking each time to see if the dataset's new name is longer than 256 bytes.
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Author: Paul Dagnelie <pcd@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307116
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 05:28:24 +0000 (05:28 +0000)]
MFC 303379
hyperv/vmbus: Rename cleaned up bufring code
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7318
git-svn-id: svn://svn.freebsd.org/base/stable/10@307114
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 05:09:26 +0000 (05:09 +0000)]
MFC 303284,303329,303361,303362,303366,303368-303370
303284
hyperv/vmbus: Move bufring info definition to vmbus_brvar.h
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7282
303329
hyperv/vmbus: Nuke unnecessary accessor functions.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7303
303361
hyperv/vmbus: Initialize RX/TX bufring mutex at channel creation time
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7312
303362
hyperv/vmbus: Use different struct for RX/TX bufring.
So that they can use suitable MP synchronization mechanism.
While I'm here change the bufring init/read/write function names.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7313
303366
hyperv/vmbus: Update comment for bufring
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7314
303368
hyperv/vmbus: Cleanup TX bufring write process.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7315
303369
hyperv/vmbus: Stringent RX bufring data length checks.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7316
303370
hyperv/vmbus: Cleanup RX bufring read process.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7317
git-svn-id: svn://svn.freebsd.org/base/stable/10@307103
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 03:37:43 +0000 (03:37 +0000)]
MFC 303283
hyperv/vmbus: Rename hv_vmbus_priv.h to vmbus_brvar.h
It only contains bufring related bits for a while.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7281
git-svn-id: svn://svn.freebsd.org/base/stable/10@307099
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 03:32:47 +0000 (03:32 +0000)]
MFC 303178,303180,303182
303178
hyperv/vmbus: Cosmetic bufring cleanup.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7267
303180
hyperv/vmbus: Cleanup and augment bufring sysctl tree creation
Binary state node is added, so that userland programs do not have
to parse human readable state string.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7268
303182
hyperv/vmbus: Move vmbus bufring definition to vmbus_reg.h
And add more comment about its fields.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7269
git-svn-id: svn://svn.freebsd.org/base/stable/10@307097
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 03:18:17 +0000 (03:18 +0000)]
MFC 303066-303072,303127-303129,303131
303066
hyperv/vmbus: Get rid of unnecessary definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7240
303067
hyperv/vmbus: Move IC register definition to Hyper-V utilities
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7241
303068
hyperv/vmbus: Channel struct field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7242
303069
hyperv/vmbus: Pass channel as the first argument for channel callback
The prepares to kill device private fields in channel struct, which
are not flexible and extensible.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7243
303070
hyperv/vmbus: Deprecate the device private data in channel struct
They are neither flexible nor extensible.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7244
303071
hyperv/vmbus: Hide channel struct definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7245
303072
hyperv/vmbus: Save MNF trigger location instead of MNF trigger index.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7246
303127
hyperv/vmbus: Save event flag location and evet flag mask.
This avoids unnecessary access to the vmbus_softc struct on sending path.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7257
303128
hyperv/vmbus: Reorder channel fields.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7258
303129
hyperv/vmbus: Shuffle function declaration and macro definition.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7259
303131
hyperv: hv_vmbus_channel -> vmbus_channel
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7260
git-svn-id: svn://svn.freebsd.org/base/stable/10@307096
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 02:55:24 +0000 (02:55 +0000)]
MFC 303023
hyperv/vmbus: Rename laundered vmbus channel code
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7232
git-svn-id: svn://svn.freebsd.org/base/stable/10@307086
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 02:45:30 +0000 (02:45 +0000)]
MFC 302888-302892,302986,303020-303022
302888
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
Nuke unused channel GPADL API.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
302889
hyperv/vmbus: Back out r302888 temporarily
Committed by accident w/ duplicated commit log
Sponsored by: Microsoft OSTC
302890
hyperv/vmbus: Function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7212
302891
hyperv/vmbus: Cosmetic vmbus channel close cleanup
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7213
302892
hyperv/vmbus: Cleanup channel sysctl tree creation
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7214
302986
hyperv/vmbus: Cosmetic vmbus channel open cleanup
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7217
303020
hyperv/vmbus: Cleanup cpu based channel selection.
And create cpu to channel map at device attach time for storvsc(4).
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7229
303021
hyperv/vmbus: Function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7230
303022
hyperv/vmbus: Temp/internal variable/function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7231
git-svn-id: svn://svn.freebsd.org/base/stable/10@307084
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 02:15:06 +0000 (02:15 +0000)]
MFC 302887
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
Nuke unused channel GPADL API.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
git-svn-id: svn://svn.freebsd.org/base/stable/10@307081
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 02:09:53 +0000 (02:09 +0000)]
MFC 302885,302886
302885
hyperv/vmbus: Cleanup channel receiving.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7202
302886
hyperv/vmbus: Cleanup channel packet receiving.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7204
git-svn-id: svn://svn.freebsd.org/base/stable/10@307080
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Wed, 12 Oct 2016 02:03:05 +0000 (02:03 +0000)]
MFC 302882-302884
302882
hyperv/vmbus: Function rename
And reorder the error prone parameters list.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7191
302883
hyperv/vmbus: Field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7193
302884
hyperv/vmbus: Factor out macros to do channel packet length conversion.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7194
git-svn-id: svn://svn.freebsd.org/base/stable/10@307079
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
jilles [Tue, 11 Oct 2016 18:51:03 +0000 (18:51 +0000)]
wait: Do not copyout uninitialized status/rusage/wrusage.
If wait4() or wait6() return 0 because of WNOHANG, the status, rusage and
wrusage information should not be returned.
PR: 212048
Reported by: Casey Lucas
git-svn-id: svn://svn.freebsd.org/base/stable/10@307065
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:53:50 +0000 (16:53 +0000)]
MFC r305207: MFV r302659: 6931 lib/libzfs: cleanup gcc warnings
illumos/illumos-gate@
88f61dee20b358671b1b643e9d1dbf220a1d69be
https://github.com/illumos/illumos-gate/commit/
88f61dee20b358671b1b643e9d1dbf220a1d69be
https://www.illumos.org/issues/6931
need cleanup:
CERRWARN += -_gcc=-Wno-switch
CERRWARN += -_gcc=-Wno-parentheses
CERRWARN += -_gcc=-Wno-unused-function
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Igor Kozhukhov <ikozhukhov@gmail.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307058
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:52:57 +0000 (16:52 +0000)]
MFC r305200: MFV r302651:
7054 dmu_tx_hold_t should use refcount_t to track space
illumos/illumos-gate@
0c779ad424a92a84d1e07d47cab7f8009189202b
https://github.com/illumos/illumos-gate/commit/
0c779ad424a92a84d1e07d47cab7f8009
189202b
https://www.illumos.org/issues/7054
upstream:
ee0003de7d3e598499be7ac3fe6b61efcc47cb7f
DLPX-40399 dmu_tx_hold_t should use refcount_t to track space
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307057
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:50:45 +0000 (16:50 +0000)]
MFC r305199: MFV r302648: 7019 zfsdev_ioctl skips secpolicy when FKIOCTL is set
Note that the bulk of the upstream change is not applicable to FreeBSD
and the affected files are not even in the vendor area.
illumos/illumos-gate@
45b1747515a17db45e8971501ee84a26bdff37b2
https://github.com/illumos/illumos-gate/commit/
45b1747515a17db45e8971501ee84a26bdff37b2
https://www.illumos.org/issues/7019
Currently zfsdev_ioctl, when confronted by a request with the FKIOCTL flag set,
skips all processing of secpolicy functions. This means that ZFS is not doing
any kind of verification of the credentials or access rights of the caller and
assuming that (as it is an in-kernel client) all such checks have already been
done.
This turns out to be quite a dangerous assumption, especially with respect to
sdev. In general I don't think it's particularly reasonable to offload this
enforcement of access rights onto other kernel subsystems when ZFS has some
particular local semantics in this area (delegated datasets etc) and does not
provide any kind of API to allow other subsystems to avoid code duplication
when doing it. ZFS should apply its normal access policy to requests from
within the kernel, and callers should take care to give it the correct
credentials and call it from the correct context in order to get the results
they need.
You can observe the currently unfortunate consequences of this bug in any non-
global zone that has access to /dev/zvol or any subset of it via sdev profiles.
In particular, a zone used to contain a KVM or similar which has a single zvol
passed through to it using a <device match= block in its zone XML.
Even though sdev makes something of an attempt to control for whether the
caller should have access to nodes in /dev/zvol, it doesn't do this correctly,
or really at all in the lookup call path. So, if we have a zone that's been
given access to any part of /dev/zvol, it can simply look up the full path to
any other zvol on the entire system, and the node will appear and be able to be
used.
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Alex Wilson <alex.wilson@joyent.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307056
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:49:16 +0000 (16:49 +0000)]
MFC r305198: MFV r302647:
6922 Emit ESC_ZFS_VDEV_REMOVE_AUX after removing an aux device
illumos/illumos-gate@
63364b0ee2604783e7a55f8425888867768eafa4
https://github.com/illumos/illumos-gate/commit/
63364b0ee2604783e7a55f84258888677
68eafa4
https://www.illumos.org/issues/6922
ZFS does not do a config_sync after removing an aux (spare, log, or cache)
device. AFAICT this isn't being done because it is slow and was deemed
unnecessary. However, it should be such a rare operation that speed doesn't
matter, and not doing it results in two problems:
1) It is theoretically possible to remove an aux device from one pool and
attach it to another, then lose power. When power is restored, both pools woul
d
think that they own the aux device.
2) Removal of the aux device doesn't send any useful sysevents to userland.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Alan Somers <asomers@gmail.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307055
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:48:12 +0000 (16:48 +0000)]
MFC r305197: MFV r302646:
6980 6902 causes zfs send to break due to 32-bit/64-bit struct mismatch
illumos/illumos-gate@
ea4a67f462de0a39a9adea8197bcdef849de5371
https://github.com/illumos/illumos-gate/commit/
ea4a67f462de0a39a9adea8197bcdef84
9de5371
https://www.illumos.org/issues/6980
doing zfs send -i snap1 snap2 >testfile results in
internal error: Invalid argument
Abort (core dumped)
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307054
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:47:21 +0000 (16:47 +0000)]
MFC r305195: MFV r302643:
6902 speed up listing of snapshots if requesting name only and sorting by name
This was our change from the beginning, so just reduce the upstream diff.
git-svn-id: svn://svn.freebsd.org/base/stable/10@307053
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Tue, 11 Oct 2016 16:46:16 +0000 (16:46 +0000)]
MFC r305193: MFV r302642:
6876 Stack corruption after importing a pool with a too-long name
illumos/illumos-gate@
c971037baa5d64dfecf6d87ed602fc3116ebec41
https://github.com/illumos/illumos-gate/commit/
c971037baa5d64dfecf6d87ed602fc3116ebec41
https://www.illumos.org/issues/6876
Calling dsl_dataset_name on a dataset with a 256 byte buffer is asking for
trouble. We should check every dataset on import, using a 1024 byte buffer and
checking each time to see if the dataset's new name is longer than 256 bytes.
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Author: Paul Dagnelie <pcd@delphix.com>
git-svn-id: svn://svn.freebsd.org/base/stable/10@307052
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 09:19:30 +0000 (09:19 +0000)]
build: Add vmbus_if.m
This is a direct commit, which reflects the difference between
current and 10-stable.
Sponsored by: Microsoft
git-svn-id: svn://svn.freebsd.org/base/stable/10@307035
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 09:11:23 +0000 (09:11 +0000)]
MFC 302875,302876,302878-302881
302875
hyperv/vmbus: Redefine channel packet.
The channel packet header will be shared w/ PRP (physical region page)
list channel packet and SG (scatter gather) list channel packet.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7155
302876
hyperv/vmbus: Rework sglist sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7156
302878
hyeprv/vmbus: Rework prplist sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7175
302879
hyperv/vmbus: Move channel packet flags definition to vmbus.h
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7176
302880
hyperv/vmbus: Move channel packet types definition to vmbus.h
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7177
302881
hyperv/vmbus: Cleanup channel sending
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7178
git-svn-id: svn://svn.freebsd.org/base/stable/10@307034
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 09:02:55 +0000 (09:02 +0000)]
MFC 302873,302874
302873
hyperv/vmbus: Set vcpuid to 0, if MSR_HV_VP_INDEX does not exist.
Mainly for compatibility. While I'm here, rename cpuid related
fields in hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7141
302874
hyperv/vmbus: Field rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7146
git-svn-id: svn://svn.freebsd.org/base/stable/10@307033
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:52:27 +0000 (08:52 +0000)]
MFC 302871,302872
302871
hyperv/vmbus: Add vmbus_chan_gpadl_connect, which takes GPA physaddr
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7139
302872
hyperv/vmbus: Busdma-fy channel bufring.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7140
git-svn-id: svn://svn.freebsd.org/base/stable/10@307032
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:48:36 +0000 (08:48 +0000)]
MFC 302867-302870
302867
hyperv/vmbus: Remove unused struct
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7127
302868
hyperv/vmbus: Function rename
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7129
302869
hyperv/vmbus: Remove unused function definition/declaration.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7131
302870
hyperv/vmbus: Use iovec for bufring scatter/gather list.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7134
git-svn-id: svn://svn.freebsd.org/base/stable/10@307031
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:41:27 +0000 (08:41 +0000)]
MFC 302864
hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.c
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7126
git-svn-id: svn://svn.freebsd.org/base/stable/10@307030
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:29:04 +0000 (08:29 +0000)]
MFC 302819,302823
302819
hyperv/vmbus: Sub-channel related fields renaming
And reorganize comment.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7113
302823
hyperv/vmbus: Move bus related message processing into vmbus.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7125
git-svn-id: svn://svn.freebsd.org/base/stable/10@307029
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:22:17 +0000 (08:22 +0000)]
MFC 302816-302818
302816
hyperv/vmbus: Release vmbus channel lock before detach devices
Device detach method may sleep.
While I'm here, rename the function, fix indentation and function
comment.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7110
302817
hyperv/vmbus: Field renaming to reflect reality
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7111
302818
hyperv/vmbus: Fix the racy channel close.
It is not safe to iterate the sub-channel list w/o lock on the
close path, while it's even more difficult to hold the lock
and iterate the sub-channel list. We leverage the
vmbua_{get,rel}_subchan() functions to solve this dilemma.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7112
git-svn-id: svn://svn.freebsd.org/base/stable/10@307028
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:14:11 +0000 (08:14 +0000)]
MFC 302808-302815
302808
hyperv/vmbus: Alloc/Free monitor param in vmbus channel alloc/free.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7101
302809
hyperv/vmbus: Move device register and channel free to the caller.
This paves the way for more cleanup/disentangle.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7102
302810
hyperv/vmbus: Move new channel scan notification to device register
And nuke now unnecessary function indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7103
302811
hyperv/vmbus: Cleanup vmbus_chan_msgproc_choffer
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7104
302812
hyperv/vmbus: Nuke the channel open state.
Channel is either opened or not-opened.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7105
302813
hyperv/vmbus: Cleanup vmbus_chan_add()
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7106
302814
hyperv/vmbus: Use sub-channel index to detect primary channel
In case that VMBUS_CHAN_ISPRIMARY is needed in the early place of
channel setup.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7108
302815
hyperv/vmbus: Only add primary channels to vmbus channel list
- Make the vmbus_chan_add more straightforward.
- Partially fix the hv_vmbus_release_unattached_channels().
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7109
git-svn-id: svn://svn.freebsd.org/base/stable/10@307027
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 08:01:43 +0000 (08:01 +0000)]
MFC 302733,302737,302801-302806
302733
hyperv/vmbus: Remove unused code
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7089
302737
hyperv/vmbus: Cleanup channel rescind
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7090
302801
hyperv/vmbus: Remove unused bits
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7091
302802
hyperv: hv_guid -> struct hyperv_guid.
This paves way for the further cleanup/disentangle.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7092
302803
hyperv/vmbus: Move channel offer message definition to vmbus_reg.h
- Avoid bit fields.
- Avoid unnecessary indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7093
302804
hyperv/vmbus: Switch to vmbus channel message macros
Prepare for more cleanup.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7094
302805
hyperv/vmbus: Remove unused bits
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7095
302806
hyperv/vmbus: Get rid of rel{_id,id}, use channel id consistently.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7100
git-svn-id: svn://svn.freebsd.org/base/stable/10@307026
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:50:09 +0000 (07:50 +0000)]
MFC 302723,302726,302731
302723
hyperv: All Hypercall parameters have same alignment requirement.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7086
302726
hyperv: Signal event input parameter is shared w/ MNF
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7087
302731
hyperv/vmbus: Reorganize MNF event sending.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7088
git-svn-id: svn://svn.freebsd.org/base/stable/10@307025
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:44:26 +0000 (07:44 +0000)]
MFC 302710,302713
302710
hyperv/vmbus: Remove unnecessary callback check.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7046
302713
hyperv/vmbus: Install different task function for batch/non-batch channels
This avoids bunch of unnecessary checks on hot path and simplifies the
channel processing.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7085
git-svn-id: svn://svn.freebsd.org/base/stable/10@307024
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:37:45 +0000 (07:37 +0000)]
MFC 302707-302709
302707
hyperv/vmbus: Nuke unused field from hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7036
302708
hyperv/bufring: Remove unused fields
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7037
302709
hyperv/vmbus: Pack bool field into flags field
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7038
git-svn-id: svn://svn.freebsd.org/base/stable/10@307023
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:30:59 +0000 (07:30 +0000)]
MFC 302698-302704,302706
302698
hyperv/vmbus: Add vmbus method for GUID base device probing.
Reduce the exposure of hv_device.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7024
302699
hyperv/vmbus: All ivars are read-only; nuke unnecessary write_ivar
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7025
302700
hyperv/vmbus: Add channel ivar accessor.
This makes life easier during the transition period to nuke the hv_device.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7026
302701
hyperv/stor: Avoid the hv_device and nuke the broken get_stor_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7027
302702
hyperv/util: Avoid the hv_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7028
302703
hyperv/vmbus: Deprecate the usage of hv_device.
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7032
302704
hyperv/hn: Avoid the hv_device
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7033
302706
hyperv: Get rid of hv_device, which is unnecessary indirection.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7034
git-svn-id: svn://svn.freebsd.org/base/stable/10@307022
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:10:12 +0000 (07:10 +0000)]
MFC 302693-302697
302693
hyperv/vmbus: Make channel id a field of hv_vmbus_channel.
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7014
302694
hyperv/vmbus: Make subchan index a field of hv_vmbus_channel.
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7015
302695
hyperv/vmbus: Add flags field into hv_vmbus_channel for MNF indication
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7019
302696
hyperv/vmbus: Add type/instance guid fields into hv_vmbus_channel
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7020
302697
hyperv/vmbus: Remove the embedded offer message from hv_vmbus_channel
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7021
git-svn-id: svn://svn.freebsd.org/base/stable/10@307021
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 07:00:43 +0000 (07:00 +0000)]
MFC 302636-302638,302692
302636
hyperv/vmbus: Move channel map to vmbus_softc
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6982
302637
hyperv/vmbus: Remove needed bits
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7002
302638
hyperv/vmbus: Destroy channel list lock upon attach failure and detach.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7003
302692
hyperv/vmbus: Merge hv_connection.c into hv_channel.c
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7004
git-svn-id: svn://svn.freebsd.org/base/stable/10@307020
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 06:46:24 +0000 (06:46 +0000)]
MFC 302632-302634
302632
hyperv/vmbus: More verbose for GPADL_connect/chan_{rescind,offer}
Reviewed by: Dexuan Cui <decui microsoft com>, Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6976
302633
hyperv/vmbus: Free sysctl properly upon channel close.
Prepare for sub-channel re-open.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6977
302634
hyperv/vmbus: Fix sub-channel re-open support.
For multi-channel devices, once the primary channel is closed,
a set of 'rescind' messages for sub-channels will be delivered
by Hypervisor. Sub-channel MUST be freed according to these
'rescind' messages; directly re-openning sub-channels in the
same fashion as the primary channel's re-opening does NOT work
at all.
After the primary channel is re-opened, requested # of sub-
channels will be delivered though 'channel offer' messages, and
this set of newly offered channels can be opened along side with
the primary channel.
This unbreaks the MTU setting for hn(4), which requires re-
openning all existsing channels upon MTU change.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6978
git-svn-id: svn://svn.freebsd.org/base/stable/10@307019
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 06:35:29 +0000 (06:35 +0000)]
MFC 302617-302621,302623,302629-302631
302617
hyperv/vmbus: Flatten channel message response processing.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6914
302618
hyperv/vmbus: Avoid tx_evtflags setting code duplication.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6915
302619
hyperv/vmbus: Busdma-fy Hypercall signal event input parameter.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6916
302620
hyperv: Nuke unused stuffs
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6917
302621
hyperv/vmbus: Don't be oversmart in default cpu selection.
Pin the channel to cpu0 by default. Drivers having special channel-cpu
mapping requirement should call vmbus_channel_cpu_{set,rr}() themselves.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6918
302623
hyperv/vmbus: Minor renaming
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6919
302629
hyperv/vmbus: Rework vmbus version accessing.
Instead of global variable, vmbus version is accessed through
a vmbus DEVMETHOD now.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6953
302630
hyperv/vmbus: Move GPADL index into vmbus_softc
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6954
302631
hyperv/vmbus: Move channel list to vmbus_softc
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6956
git-svn-id: svn://svn.freebsd.org/base/stable/10@307018
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 06:19:06 +0000 (06:19 +0000)]
MFC 302607-302612
302607
hyperv/vmbus: Use post message Hypercall APIs for channel open
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6876
302608
hyperv/vmbus: Remove unnecessary check and unapplied comment
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6877
302609
hyperv/vmbus: Use post message Hypercall APIs for GPADL connect.
This also fixes memory leakge if sub-connect messages are needed.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6878
302610
hyperv/vmbus: Use post message Hypercall APIs for channel close
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6906
302611
hyperv/vmbus: Use post message Hypercall APIs for GPA disconnect
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6912
302612
hyperv: Nuke unused stuffs
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6913
git-svn-id: svn://svn.freebsd.org/base/stable/10@307017
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
sephe [Tue, 11 Oct 2016 06:04:40 +0000 (06:04 +0000)]
MFC 302543,302545,302547,302549,302554,302556,302557,302559,302606
302543
hyperv/vmbus: Use post message Hypercall APIs for channel request
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6831
302545
hyperv/vmbus: Function renaming.
And pass vmbus_softc to vmbus_doattach()
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6842
302547
hyperv/vmbus: Explicitly assign channel message process array.
While I'm here, remove the useless message type from message process
array, which is not used and serves no purposes at all.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6858
302549
hyperv/vmbus: Add sysctl to expose vmbus version.
Requested by: Hongxiong Xian <v-hoxian microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6860
302554
hyperv/vmbus: Use post message Hypercall APIs for unload
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6861
302556
hyperv/vmbus: Create channel synchronously.
The device probe/attach has been move to a different thread, so the
reasons to create the channel asynchronously are no longer valid.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6862
302557
hyperv/vmbus: Save vmbus softc to channels.
So that we don't need to access the global vmbus softc.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6863
302559
hyperv/vmbus: Embed channel detach task in channel itself.
GC work queue stuffs.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6864
302606
hyperv/vmbus: Reorganize vmbus scan process.
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6875
git-svn-id: svn://svn.freebsd.org/base/stable/10@307016
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f