diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2017-10-05 13:23:23 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2017-10-05 13:23:23 -0300 |
commit | 9cc1157bf5109383f927ade330900b2b3cb51b64 (patch) | |
tree | ca62d94ac1311f34978cef698ba8ea67aeb057d9 /kvmx | |
parent | 52c495b4d51f4fe916a5e90ca197b1bc32c17604 (diff) | |
download | kvmx-9cc1157bf5109383f927ade330900b2b3cb51b64.tar.gz kvmx-9cc1157bf5109383f927ade330900b2b3cb51b64.tar.bz2 |
Support for multiple mount points
Diffstat (limited to 'kvmx')
-rwxr-xr-x | kvmx | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -270,6 +270,25 @@ function kvmx_up { #local shared="-net user,smb=$shared_folder" # See http://wiki.qemu-project.org/Documentation/9psetup local shared="-fsdev local,id=shared,path=$shared_folder,security_model=none -device virtio-9p-pci,fsdev=shared,mount_tag=shared" + elif [ ! -z "$shared_folders" ]; then + local old_ifs="$IFS" + local shared_item + local shared + IFS="," + for shared_item in $shared_folders; do + local id="`echo $shared_item | cut -d ':' -f 1`" + local shared_folder="`echo $shared_item | cut -d ':' -f 2`" + local shared_folder_mountpoint="`echo $shared_item | cut -d ':' -f 3`" + + # Get absolute path of shared folder relative to project path + shared_folder="`cd $KVMX_PROJECT_FOLDER && cd $shared_folder &> /dev/null && pwd`" + + shared="$shared -fsdev local,id=$id,path=$shared_folder,security_model=none -device virtio-9p-pci,fsdev=$id,mount_tag=$id" + + unset shared_folder + unset shared_folder_mountpoint + done + IFS="$old_ifs" fi if [ ! -z "$port_mapping" ]; then @@ -391,6 +410,26 @@ function kvmx_up { 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 //10.0.2.4/qemu $shared_folder_mountpint" | kvmx_ssh + elif [ ! -z "$shared_folders" ]; then + local old_ifs="$IFS" + local shared_item + IFS="," + for shared_item in $shared_folders; do + local id="`echo $shared_item | cut -d ':' -f 1`" + local shared_folder="`echo $shared_item | cut -d ':' -f 2`" + local shared_folder_mountpoint="`echo $shared_item | cut -d ':' -f 3`" + + # Get absolute path of shared folder relative to project path + shared_folder="`cd $KVMX_PROJECT_FOLDER && cd $shared_folder &> /dev/null && pwd`" + + # Restore IFS for a while or kvmx_ssh won't work + IFS="$old_ifs" + echo "Mounting $shared_folder on $shared_folder_mountpoint $id on guest..." + echo "sudo mkdir -p $shared_folder_mountpoint" | kvmx_ssh + echo "sudo mount -t 9p -o trans=virtio $id $shared_folder_mountpoint -oversion=9p2000.L,posixacl,cache=none -o sync -o dirsync" | kvmx_ssh + IFS="," + done + IFS="$old_ifs" fi fi |