From 8eedb041a8fccdd6c2656e2f7d1f55c973619dc2 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 1 Dec 2017 08:21:40 -0200 Subject: Adds shared_folders_msize and shared_folders_cache options --- kvmx | 10 +++++++++- kvmxfile | 9 +++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/kvmx b/kvmx index fc7ba38..30981d8 100755 --- a/kvmx +++ b/kvmx @@ -361,6 +361,14 @@ function kvmx_up { nic_model="virtio" fi + if [ -z "$shared_folder_msize" ]; then + shared_folders_msize="524288" + fi + + if [ -z "$shared_folders_cache" ]; then + shared_folders_cache="none" + fi + # Run virtual machine # See https://en.wikipedia.org/wiki/Nohup#Overcoming_hanging nohup kvm -m $memory -name $VM -drive file=$image,if=$drive_interface $graphics $shared \ @@ -417,7 +425,7 @@ function kvmx_up { if [ ! -z "$shared_folder" ] && [ ! -z "$shared_folder_mountpoint" ]; then echo "Mounting $shared_folder on $shared_folder_mountpoint on guest..." echo "sudo mkdir -p $shared_folder_mountpoint" | kvmx_ssh - echo "sudo mount -t 9p -o trans=virtio shared $shared_folder_mountpoint -oversion=9p2000.L,posixacl,cache=none -o sync -o dirsync" | kvmx_ssh + echo "sudo mount -t 9p -o trans=virtio,msize=$shared_folders_msize shared $shared_folder_mountpoint -oversion=9p2000.L,posixacl,cache=$shared_folders_cache -o sync -o dirsync" | kvmx_ssh #echo "sudo mount //10.0.2.4/qemu $shared_folder_mountpint" | kvmx_ssh elif [ ! -z "$shared_folders" ]; then local old_ifs="$IFS" diff --git a/kvmxfile b/kvmxfile index 6926e21..248f2cf 100644 --- a/kvmxfile +++ b/kvmxfile @@ -22,6 +22,15 @@ shared_folder_mountpoint="/home/$user/code/$VM" # Format: ::,::[,...] #shared_folders="shared1:.:/home/$user/code/$VM,shared2:$HOME/.local/share/app:/home/$user/.local/share/app" +# Maximum packet size including any headers for shared folders using 9p +# See https://forums.lime-technology.com/topic/34691-9p-sharing-speed-not-what-i-expected/ +# https://github.com/clearcontainers/hyperstart/pull/25 +#shared_folders_msize="524288" + +# Shared folders caching +# See https://www.kernel.org/doc/Documentation/filesystems/9p.txt +#shared_folders_cache="none" + # Folder to sync during provisioning in the format "/host/folder1 /guest/folder1,/host/folder2 /guest/folder2[,...]". #provision_rsync="$KVMX_BASE/share/provision/ /usr/local/share/kvmx/provision/" #provision_rsync="puppet/ /etc/puppet/" -- cgit v1.2.3