synced_folders/nfs: acquire process-level lock for export

This commit is contained in:
Mitchell Hashimoto 2014-04-16 09:58:26 -07:00
parent 901d3c3558
commit c3e6c794cd
2 changed files with 15 additions and 3 deletions

View File

@ -30,6 +30,11 @@ IMPROVEMENTS:
- guests/freebsd: Support for virtio interfaces. [GH-3082]
- guests/openbsd: Support for virtio interfaces. [GH-3082]
BUG FIXES:
- synced\_folders/nfs: Acquires a process-level lock so exports don't
collide with Vagrant running in parallel.
PLUGIN AUTHOR CHANGES:
- New host capability: "rdp\_client". This capability gets the RDP connection

View File

@ -63,9 +63,16 @@ module VagrantPlugins
# NFS exporting often requires sudo privilege and we don't want
# overlapping input requests. [GH-2680]
@@lock.synchronize do
machine.ui.info I18n.t("vagrant.actions.vm.nfs.exporting")
machine.env.host.capability(:nfs_export,
machine.ui, machine.id, machine_ip, folders)
begin
machine.env.lock("nfs-export") do
machine.ui.info I18n.t("vagrant.actions.vm.nfs.exporting")
machine.env.host.capability(
:nfs_export, machine.ui, machine.id, machine_ip, folders)
end
rescue Vagrant::Errors::EnvironmentLockedError
sleep 1
retry
end
end
# Mount