Oliver Kurth [Fri, 15 Sep 2017 18:22:41 +0000 (11:22 -0700)]
The namespacetool links with the vmtools lib which has implemented the
functions "Debug" and "Panic". The locale definitions of these functions
in the namespacetool source has been removed.
Oliver Kurth [Fri, 15 Sep 2017 18:22:41 +0000 (11:22 -0700)]
Make VSS BackupComplete as final steps of the vmbackup process.
VSS process break up to two steps when
CreateSnapshotEx(WindowsQuiesceSpec) & App-quiescing is applicable:
1) VSS quiesce and DoSnapshotSet (perform backup and commit snapshot)
2) VSS SetBackupSucceeded/BackupComplete (VSS notify app BackupCompleted)
Add a new operator to wait for VMX snapshot complete notification.
Oliver Kurth [Fri, 15 Sep 2017 18:22:41 +0000 (11:22 -0700)]
Some source code clean up in vmcisockets
1. Remove a typedef that didn't def a type (newer compilers warn).
2. Rename a local that had the same name as a var in a higher scope.
(note: there is no confusion or lost error case luckily here)
Oliver Kurth [Fri, 15 Sep 2017 18:22:40 +0000 (11:22 -0700)]
Improve VGAuth logging
Make the default logging more useful by converting a number of Debug() calls
into Log() calls. Request basics and errors are dumped. Tokens are hidden
for security concerns and certs are hidden to reduce the noise level.
Oliver Kurth [Fri, 15 Sep 2017 18:22:39 +0000 (11:22 -0700)]
Common source code merge
- Update poll timer callback's to use 64bit integers for delay.
- Avoid creating substrs if unnecessary in Unicode_CompareRange.
- Vmxnet3: Add Receive Data Ring Support.
- Comment cleanup.
Oliver Kurth [Fri, 15 Sep 2017 18:22:39 +0000 (11:22 -0700)]
lib/poll: Attempt to use IPv6 sockets first for Windows socket pair
We should always use IPv6 sockets even for loopbacks if IPv6 is supported so
that we can work properly in IPv6-only environments where IPv4 has been
disabled.
If the IPv6 socket fails to create then we can fallback to IPv4.
Oliver Kurth [Fri, 15 Sep 2017 18:22:39 +0000 (11:22 -0700)]
Add a stolen time interface for guests
This change adds a cheap stolen time interface for guests. Guests must
use the backdoor port to register a per-VCPU object in memory called the
"stealclock" with the monitor. From then on, until the clock is
disabled, the monitor publishes clock values whenever stolen time is
accumulated. A complete specification of the interface is included in
this change, as a text document: bora/doc/stealclock.txt.
Pending clock updates are represented by an idempotent monitor action,
posted whenever stolen time is accumulated. In the current
implementation, this is whenever we update stolen time on transit from
host to vmm. In the future, it may an action posted by the vmkernel,
whenever stolen time is updated.
Oliver Kurth [Fri, 28 Jul 2017 19:16:51 +0000 (12:16 -0700)]
The previous change to the Linux VMCI driver resulted in intermittent
hangs during soft reboots of RHEL 6.8 Linux VM. This change reverts
that code change and resets the driver version number.
Oliver Kurth [Wed, 7 Jun 2017 00:17:04 +0000 (17:17 -0700)]
FreeBSD: Use the "dhclient" command to renew a DHCP IP address.
On FreeBSD, "/etc/rc.d/netif" is sufficient to stop a network interface
when suspending a VM. When resuming a VM, DHCP configured interfaces
must be restarted with "/etc/rc.d/dhclient".
This fix is courtesy of Steve Wills, maintainer of open-vm-tools on
FreeBSD, and Shuai Wang.
Oliver Kurth [Wed, 7 Jun 2017 00:17:04 +0000 (17:17 -0700)]
VMCI: reset datagram buffer pointer on dealloc
Fix a potential guest crash when unloading the VMCI
driver while upgrading to a specific version of UEK.
A BH may run during module unload and attempt to deliver
datagrams to the datagram buffer after it has been
deallocated. It turns out that the tasklet may not
yet have been scheduled, so add a tasklet_disable to
guard against that. Also, reset the datagram buffer
pointer when the buffer is deallocated to indicate
that it is no longer there.
Oliver Kurth [Wed, 3 May 2017 00:15:52 +0000 (17:15 -0700)]
Fix an invalid class pointer access when the VSS provider is not installed.
Customers may disable VSS support by not installing the VMware snapshot
provider, which may lead to the VSS provider being uninitialized, which in
turn can cause an invalid class pointer access during initialization
completion.
This change fixes the issue by checking the provider initialization status
before running the initialization completer.
Oliver Kurth [Fri, 21 Apr 2017 01:04:18 +0000 (18:04 -0700)]
Fix timesync state to be uncalibrated when adjustment is large (>60ms).
Open-vm-tools has a timesync plugin to adjust the guest time to match the
host time. Timesync relies on a state machine (uncalibrated, calibrating
and PLL states) to adjust the amount of guest time to match host time.
If the guest and host time differ by more than 60ms, the state machine
should reset to the uncalibrated state. This change fixes a bug that could
leave the state in PLL mode even when the guest and host times differed by
more than 60ms, since the absolute value of adjustment was not considered,
which in turn caused the time sync to happen more slowly than expected.
Oliver Kurth [Thu, 19 Jan 2017 01:28:20 +0000 (17:28 -0800)]
Bump the VMware Tools update release to version 10.1.5
Change the "current" version for the VMware Tools update release to
be 10.1.5. This bump is to allow versions numbers for hot patches
which have been or may yet be issued before the update is GA.