From: Sasha Levin <levinsasha928@gmail.com>
To: penberg@kernel.org
Cc: kvm@vger.kernel.org, mingo@elte.hu, asias.hejun@gmail.com,
gorcunov@gmail.com, Sasha Levin <levinsasha928@gmail.com>
Subject: [PATCH 2/7] kvm tools: Connect existing command helpers to 'kvm help'
Date: Fri, 12 Aug 2011 18:20:55 +0300 [thread overview]
Message-ID: <1313162460-14397-2-git-send-email-levinsasha928@gmail.com> (raw)
In-Reply-To: <1313162460-14397-1-git-send-email-levinsasha928@gmail.com>
This patch connects usage helpers to 'kvm help' callbacks, allowing
to see help about a command by doing 'kvm help [command]'.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
---
tools/kvm/builtin-balloon.c | 7 ++++++-
tools/kvm/builtin-debug.c | 7 ++++++-
tools/kvm/builtin-list.c | 15 +++++++++++++++
tools/kvm/builtin-pause.c | 7 ++++++-
tools/kvm/builtin-resume.c | 7 ++++++-
tools/kvm/builtin-stop.c | 7 ++++++-
tools/kvm/include/kvm/builtin-balloon.h | 1 +
tools/kvm/include/kvm/builtin-debug.h | 1 +
tools/kvm/include/kvm/builtin-list.h | 1 +
tools/kvm/include/kvm/builtin-pause.h | 1 +
tools/kvm/include/kvm/builtin-resume.h | 1 +
tools/kvm/include/kvm/builtin-stop.h | 1 +
tools/kvm/kvm-cmd.c | 22 +++++++++++-----------
13 files changed, 62 insertions(+), 16 deletions(-)
diff --git a/tools/kvm/builtin-balloon.c b/tools/kvm/builtin-balloon.c
index 907a56a..08795cd 100644
--- a/tools/kvm/builtin-balloon.c
+++ b/tools/kvm/builtin-balloon.c
@@ -17,6 +17,11 @@ static const struct option balloon_options[] = {
OPT_END()
};
+void kvm_balloon_help(void)
+{
+ usage_with_options(balloon_usage, balloon_options);
+}
+
int kvm_cmd_balloon(int argc, const char **argv, const char *prefix)
{
int pid;
@@ -24,7 +29,7 @@ int kvm_cmd_balloon(int argc, const char **argv, const char *prefix)
int inflate = 0;
if (argc != 3)
- usage_with_options(balloon_usage, balloon_options);
+ kvm_balloon_help();
pid = kvm__get_pid_by_instance(argv[2]);
if (pid < 0)
diff --git a/tools/kvm/builtin-debug.c b/tools/kvm/builtin-debug.c
index adb0b54..444ec51 100644
--- a/tools/kvm/builtin-debug.c
+++ b/tools/kvm/builtin-debug.c
@@ -17,6 +17,11 @@ static const struct option debug_options[] = {
OPT_END()
};
+void kvm_debug_help(void)
+{
+ usage_with_options(debug_usage, debug_options);
+}
+
static int do_debug(const char *name, int pid)
{
return kill(pid, SIGQUIT);
@@ -27,7 +32,7 @@ int kvm_cmd_debug(int argc, const char **argv, const char *prefix)
int pid;
if (argc != 1)
- usage_with_options(debug_usage, debug_options);
+ kvm_debug_help();
if (strcmp(argv[0], "all") == 0) {
return kvm__enumerate_instances(do_debug);
diff --git a/tools/kvm/builtin-list.c b/tools/kvm/builtin-list.c
index 34cc03b..fcf9bb0 100644
--- a/tools/kvm/builtin-list.c
+++ b/tools/kvm/builtin-list.c
@@ -2,6 +2,7 @@
#include <kvm/kvm-cmd.h>
#include <kvm/builtin-list.h>
#include <kvm/kvm.h>
+#include <kvm/parse-options.h>
#include <stdio.h>
#include <string.h>
@@ -10,6 +11,20 @@
#define PROCESS_NAME "kvm"
+static const char * const list_usage[] = {
+ "kvm list",
+ NULL
+};
+
+static const struct option list_options[] = {
+ OPT_END()
+};
+
+void kvm_list_help(void)
+{
+ usage_with_options(list_usage, list_options);
+}
+
static int print_guest(const char *name, int pid)
{
char proc_name[PATH_MAX];
diff --git a/tools/kvm/builtin-pause.c b/tools/kvm/builtin-pause.c
index 7ac793c..7a6a6c7 100644
--- a/tools/kvm/builtin-pause.c
+++ b/tools/kvm/builtin-pause.c
@@ -17,6 +17,11 @@ static const struct option pause_options[] = {
OPT_END()
};
+void kvm_pause_help(void)
+{
+ usage_with_options(pause_usage, pause_options);
+}
+
static int do_pause(const char *name, int pid)
{
return kill(pid, SIGUSR2);
@@ -27,7 +32,7 @@ int kvm_cmd_pause(int argc, const char **argv, const char *prefix)
int pid;
if (argc != 1)
- usage_with_options(pause_usage, pause_options);
+ kvm_pause_help();
if (strcmp(argv[0], "all") == 0) {
return kvm__enumerate_instances(do_pause);
diff --git a/tools/kvm/builtin-resume.c b/tools/kvm/builtin-resume.c
index 3b08d3f..b004f2d 100644
--- a/tools/kvm/builtin-resume.c
+++ b/tools/kvm/builtin-resume.c
@@ -17,6 +17,11 @@ static const struct option resume_options[] = {
OPT_END()
};
+void kvm_resume_help(void)
+{
+ usage_with_options(resume_usage, resume_options);
+}
+
static int do_resume(const char *name, int pid)
{
return kill(pid, SIGKVMRESUME);
@@ -27,7 +32,7 @@ int kvm_cmd_resume(int argc, const char **argv, const char *prefix)
int pid;
if (argc != 1)
- usage_with_options(resume_usage, resume_options);
+ kvm_resume_help();
if (strcmp(argv[0], "all") == 0) {
return kvm__enumerate_instances(do_resume);
diff --git a/tools/kvm/builtin-stop.c b/tools/kvm/builtin-stop.c
index efbf979..de31132 100644
--- a/tools/kvm/builtin-stop.c
+++ b/tools/kvm/builtin-stop.c
@@ -17,6 +17,11 @@ static const struct option stop_options[] = {
OPT_END()
};
+void kvm_stop_help(void)
+{
+ usage_with_options(stop_usage, stop_options);
+}
+
static int do_stop(const char *name, int pid)
{
return kill(pid, SIGKVMSTOP);
@@ -27,7 +32,7 @@ int kvm_cmd_stop(int argc, const char **argv, const char *prefix)
int pid;
if (argc != 1)
- usage_with_options(stop_usage, stop_options);
+ kvm_stop_help();
if (strcmp(argv[0], "all") == 0) {
return kvm__enumerate_instances(do_stop);
diff --git a/tools/kvm/include/kvm/builtin-balloon.h b/tools/kvm/include/kvm/builtin-balloon.h
index f5f92b9..85055eb 100644
--- a/tools/kvm/include/kvm/builtin-balloon.h
+++ b/tools/kvm/include/kvm/builtin-balloon.h
@@ -2,5 +2,6 @@
#define KVM__BALLOON_H
int kvm_cmd_balloon(int argc, const char **argv, const char *prefix);
+void kvm_balloon_help(void);
#endif
diff --git a/tools/kvm/include/kvm/builtin-debug.h b/tools/kvm/include/kvm/builtin-debug.h
index 190cf31..3fc2469 100644
--- a/tools/kvm/include/kvm/builtin-debug.h
+++ b/tools/kvm/include/kvm/builtin-debug.h
@@ -2,5 +2,6 @@
#define KVM__DEBUG_H
int kvm_cmd_debug(int argc, const char **argv, const char *prefix);
+void kvm_debug_help(void);
#endif
diff --git a/tools/kvm/include/kvm/builtin-list.h b/tools/kvm/include/kvm/builtin-list.h
index eba9cfd..04fca22 100644
--- a/tools/kvm/include/kvm/builtin-list.h
+++ b/tools/kvm/include/kvm/builtin-list.h
@@ -2,5 +2,6 @@
#define KVM__LIST_H
int kvm_cmd_list(int argc, const char **argv, const char *prefix);
+void kvm_list_help(void);
#endif
diff --git a/tools/kvm/include/kvm/builtin-pause.h b/tools/kvm/include/kvm/builtin-pause.h
index 0f8e96b..540cc8e 100644
--- a/tools/kvm/include/kvm/builtin-pause.h
+++ b/tools/kvm/include/kvm/builtin-pause.h
@@ -2,5 +2,6 @@
#define KVM__PAUSE_H
int kvm_cmd_pause(int argc, const char **argv, const char *prefix);
+void kvm_pause_help(void);
#endif
diff --git a/tools/kvm/include/kvm/builtin-resume.h b/tools/kvm/include/kvm/builtin-resume.h
index 4a64747..9e6e8d7 100644
--- a/tools/kvm/include/kvm/builtin-resume.h
+++ b/tools/kvm/include/kvm/builtin-resume.h
@@ -2,5 +2,6 @@
#define KVM__RESUME_H
int kvm_cmd_resume(int argc, const char **argv, const char *prefix);
+void kvm_resume_help(void);
#endif
diff --git a/tools/kvm/include/kvm/builtin-stop.h b/tools/kvm/include/kvm/builtin-stop.h
index 317d34d..7570695 100644
--- a/tools/kvm/include/kvm/builtin-stop.h
+++ b/tools/kvm/include/kvm/builtin-stop.h
@@ -2,5 +2,6 @@
#define KVM__STOP_H
int kvm_cmd_stop(int argc, const char **argv, const char *prefix);
+void kvm_stop_help(void);
#endif
diff --git a/tools/kvm/kvm-cmd.c b/tools/kvm/kvm-cmd.c
index 3a90d6d..4e3ea22 100644
--- a/tools/kvm/kvm-cmd.c
+++ b/tools/kvm/kvm-cmd.c
@@ -18,17 +18,17 @@
#include "kvm/util.h"
struct cmd_struct kvm_commands[] = {
- { "pause", kvm_cmd_pause, NULL, 0 },
- { "resume", kvm_cmd_resume, NULL, 0 },
- { "debug", kvm_cmd_debug, NULL, 0 },
- { "balloon", kvm_cmd_balloon, NULL, 0 },
- { "list", kvm_cmd_list, NULL, 0 },
- { "version", kvm_cmd_version, NULL, 0 },
- { "--version", kvm_cmd_version, NULL, 0 },
- { "stop", kvm_cmd_stop, NULL, 0 },
- { "help", kvm_cmd_help, NULL, 0 },
- { "run", kvm_cmd_run, kvm_run_help, 0 },
- { NULL, NULL, NULL, 0 },
+ { "pause", kvm_cmd_pause, kvm_pause_help, 0 },
+ { "resume", kvm_cmd_resume, kvm_resume_help, 0 },
+ { "debug", kvm_cmd_debug, kvm_debug_help, 0 },
+ { "balloon", kvm_cmd_balloon, kvm_balloon_help, 0 },
+ { "list", kvm_cmd_list, kvm_list_help, 0 },
+ { "version", kvm_cmd_version, NULL, 0 },
+ { "--version", kvm_cmd_version, NULL, 0 },
+ { "stop", kvm_cmd_stop, kvm_stop_help, 0 },
+ { "help", kvm_cmd_help, NULL, 0 },
+ { "run", kvm_cmd_run, kvm_run_help, 0 },
+ { NULL, NULL, NULL, 0 },
};
/*
--
1.7.6
next prev parent reply other threads:[~2011-08-12 15:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-12 15:20 [PATCH 1/7] kvm tools: Print version when running 'kvm --version' Sasha Levin
2011-08-12 15:20 ` Sasha Levin [this message]
2011-08-12 15:20 ` [PATCH 3/7] kvm tools: Improve 'kvm stop' parameters Sasha Levin
2011-08-12 15:20 ` [PATCH 4/7] kvm tools: Improve 'kvm resume' parameters Sasha Levin
2011-08-12 15:20 ` [PATCH 5/7] kvm tools: Improve 'kvm pause' parameters Sasha Levin
2011-08-12 15:20 ` [PATCH 6/7] kvm tools: Improve 'kvm debug' parameters Sasha Levin
2011-08-12 15:21 ` [PATCH 7/7] kvm tools: Improve 'kvm balloon' parameters Sasha Levin
2011-08-12 15:22 ` [PATCH 1/7] kvm tools: Print version when running 'kvm --version' walimis
2011-08-12 15:39 ` Pekka Enberg
2011-08-12 15:43 ` walimis
2011-08-12 15:47 ` Sasha Levin
2011-08-12 15:45 ` walimis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1313162460-14397-2-git-send-email-levinsasha928@gmail.com \
--to=levinsasha928@gmail.com \
--cc=asias.hejun@gmail.com \
--cc=gorcunov@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=penberg@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox