Add support for spinlocks hyperv feature

This commit is contained in:
Zdenek Zambersky
2019-09-04 20:57:15 +02:00
parent 98ff2dfb51
commit 3b1b17a5c9
6 changed files with 22 additions and 4 deletions

View File

@@ -237,7 +237,11 @@ module VagrantPlugins
env[:ui].info(" -- Feature: #{feature}")
end
@features_hyperv.each do |feature|
env[:ui].info(" -- Feature (HyperV): name=#{feature[:name]}, state=#{feature[:state]}")
if feature[:name] == 'spinlocks'
env[:ui].info(" -- Feature (HyperV): name=#{feature[:name]}, state=#{feature[:state]}, retries=#{feature[:retries]}")
else
env[:ui].info(" -- Feature (HyperV): name=#{feature[:name]}, state=#{feature[:state]}")
end
end
env[:ui].info(" -- Clock offset: #{@clock_offset}")
@clock_timers.each do |timer|

View File

@@ -398,10 +398,20 @@ module VagrantPlugins
raise 'Feature name AND state must be specified'
end
if options[:name] == 'spinlocks' && options[:retries].nil?
raise 'Feature spinlocks requires retries parameter'
end
@features_hyperv = [] if @features_hyperv == UNSET_VALUE
@features_hyperv.push(name: options[:name],
state: options[:state])
if options[:name] == 'spinlocks'
@features_hyperv.push(name: options[:name],
state: options[:state],
retries: options[:retries])
else
@features_hyperv.push(name: options[:name],
state: options[:state])
end
end
def clock_timer(options = {})

View File

@@ -99,7 +99,7 @@
<% if !@features_hyperv.empty? %>
<hyperv>
<% @features_hyperv.each do |feature| %>
<<%= feature[:name] %> state='<%= feature[:state] %>' />
<<%= feature[:name] %> state='<%= feature[:state] %>'<% if feature[:name] == 'spinlocks' %> retries='<%= feature[:retries] %>'<% end %> />
<% end %>
</hyperv>
<% end %>