diff options
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -2300,10 +2300,21 @@ int main(int argc, char **argv, char **envp) exit(1); } - len = strlen(",id=,path="); + if (qemu_opt_get(opts, "fstype") == NULL || + qemu_opt_get(opts, "mount_tag") == NULL || + qemu_opt_get(opts, "path") == NULL || + qemu_opt_get(opts, "security_model") == NULL) { + fprintf(stderr, "Usage: -virtfs fstype,path=/share_path/," + "security_model=[mapped|passthrough]," + "mnt_tag=tag.\n"); + exit(1); + } + + len = strlen(",id=,path=,security_model="); len += strlen(qemu_opt_get(opts, "fstype")); len += strlen(qemu_opt_get(opts, "mount_tag")); len += strlen(qemu_opt_get(opts, "path")); + len += strlen(qemu_opt_get(opts, "security_model")); arg_fsdev = qemu_malloc((len + 1) * sizeof(*arg_fsdev)); if (!arg_fsdev) { @@ -2312,10 +2323,11 @@ int main(int argc, char **argv, char **envp) exit(1); } - sprintf(arg_fsdev, "%s,id=%s,path=%s", + sprintf(arg_fsdev, "%s,id=%s,path=%s,security_model=%s", qemu_opt_get(opts, "fstype"), qemu_opt_get(opts, "mount_tag"), - qemu_opt_get(opts, "path")); + qemu_opt_get(opts, "path"), + qemu_opt_get(opts, "security_model")); len = strlen("virtio-9p-pci,fsdev=,mount_tag="); len += 2*strlen(qemu_opt_get(opts, "mount_tag")); |