mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-09-04 20:51:28 +00:00
kvm tools: Improve 'lkvm sandbox' syntax
This patch adds the possibility to run commands using the default parameter in 'lkvm sandbox'. For example, a user would now be able to run: 'lkvm sandbox firefox' And have a sandboxed firefox instance start in the guest. For commands with parameters, we still need to use dashdash to pass the parameters (similar to 'git bisect run'). For example: 'lkvm sandbox -- ls -al /bin Suggested-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
+17
-5
@@ -114,6 +114,7 @@ static const char * const run_usage[] = {
|
||||
};
|
||||
|
||||
enum {
|
||||
KVM_RUN_DEFAULT,
|
||||
KVM_RUN_SANDBOX,
|
||||
};
|
||||
|
||||
@@ -904,16 +905,27 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
}
|
||||
|
||||
if (kernel_filename) {
|
||||
if ((kvm_run_wrapper == KVM_RUN_DEFAULT && kernel_filename) ||
|
||||
(kvm_run_wrapper == KVM_RUN_SANDBOX && sandbox)) {
|
||||
fprintf(stderr, "Cannot handle parameter: "
|
||||
"%s\n", argv[0]);
|
||||
usage_with_options(run_usage, options);
|
||||
return EINVAL;
|
||||
}
|
||||
/* first unhandled parameter is treated as a kernel
|
||||
image
|
||||
*/
|
||||
kernel_filename = argv[0];
|
||||
if (kvm_run_wrapper == KVM_RUN_SANDBOX) {
|
||||
/*
|
||||
* first unhandled parameter is treated as
|
||||
* sandbox command
|
||||
*/
|
||||
sandbox = DEFAULT_SANDBOX_FILENAME;
|
||||
kvm_run_write_sandbox_cmd(argv, argc);
|
||||
} else {
|
||||
/*
|
||||
* first unhandled parameter is treated as a kernel
|
||||
* image
|
||||
*/
|
||||
kernel_filename = argv[0];
|
||||
}
|
||||
argv++;
|
||||
argc--;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user