Always clear NFS exports for the VM booting [GH-529]

This commit is contained in:
Mitchell Hashimoto 2012-01-12 18:15:43 -08:00
parent 6d212efdbd
commit 70705d2861
3 changed files with 14 additions and 21 deletions

View File

@ -60,19 +60,19 @@ module Vagrant
# task. # task.
def extract_folders def extract_folders
# Load the NFS enabled shared folders # Load the NFS enabled shared folders
@folders = @env[:vm].config.vm.shared_folders.inject({}) do |acc, data| @folders = {}
key, opts = data @env[:vm].config.vm.shared_folders.each do |name, opts|
if opts[:nfs] if opts[:nfs]
# Duplicate the options, set the hostpath, and set disabled on the original # Duplicate the options, set the hostpath, and set disabled on the original
# options so the ShareFolders middleware doesn't try to mount it. # options so the ShareFolders middleware doesn't try to mount it.
acc[key] = opts.dup opts = opts.dup
acc[key][:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path]) opts[:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path])
opts[:disabled] = true opts[:disabled] = true
@folders[key] = opts
end
end end
acc @folders
end
end end
# Prepares the settings for the NFS folders, such as setting the # Prepares the settings for the NFS folders, such as setting the

View File

@ -56,9 +56,6 @@ module Vagrant
return if !File.exist?("/etc/exports") return if !File.exist?("/etc/exports")
retryable(:tries => 10, :on => TypeError) do retryable(:tries => 10, :on => TypeError) do
system("cat /etc/exports | grep 'VAGRANT-BEGIN: #{id}' > /dev/null 2>&1")
if $?.to_i == 0
# Use sed to just strip out the block of code which was inserted # Use sed to just strip out the block of code which was inserted
# by Vagrant, and restart NFS. # by Vagrant, and restart NFS.
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports") system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
@ -67,5 +64,4 @@ module Vagrant
end end
end end
end end
end
end end

View File

@ -52,14 +52,11 @@ module Vagrant
def nfs_cleanup(id) def nfs_cleanup(id)
return if !File.exist?("/etc/exports") return if !File.exist?("/etc/exports")
system("cat /etc/exports | grep 'VAGRANT-BEGIN: #{id}' > /dev/null 2>&1")
if $?.to_i == 0
# Use sed to just strip out the block of code which was inserted # Use sed to just strip out the block of code which was inserted
# by Vagrant # by Vagrant
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports") system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
end end
end end
end end
end
end end