summaryrefslogtreecommitdiffstats
path: root/cli/src
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2010-08-03 08:06:43 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-08-03 09:45:56 -0700
commitf9f4c5722536faee3d9ecbd8b99ce138e724f401 (patch)
tree5179c58012791632f488123a3f4550c93853d4d0 /cli/src
parent1be4d5e16e38f142931a0df1e3d25ed492cb494e (diff)
make some not implemented commands return success
Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1264 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1264
Diffstat (limited to 'cli/src')
-rw-r--r--cli/src/Makefile.am2
-rw-r--r--cli/src/cli-cmd-log.c69
-rw-r--r--cli/src/cli-cmd-volume.c38
-rw-r--r--cli/src/cli-cmd.c4
-rw-r--r--cli/src/cli-cmd.h1
5 files changed, 77 insertions, 37 deletions
diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am
index 084cad5d97c..ba27511808b 100644
--- a/cli/src/Makefile.am
+++ b/cli/src/Makefile.am
@@ -2,7 +2,7 @@ sbin_PROGRAMS = gluster
gluster_SOURCES = cli.c registry.c input.c cli-cmd.c cli-rl.c \
cli-cmd-volume.c cli-cmd-probe.c cli3_1-cops.c cli-cmd-parser.c\
- cli-cmd-misc.c
+ cli-cmd-misc.c cli-cmd-log.c
gluster_LDADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(GF_LDADD)\
$(RLLIBS) $(top_builddir)/rpc/xdr/src/libgfxdr.la
diff --git a/cli/src/cli-cmd-log.c b/cli/src/cli-cmd-log.c
new file mode 100644
index 00000000000..9b905965dc6
--- /dev/null
+++ b/cli/src/cli-cmd-log.c
@@ -0,0 +1,69 @@
+/*
+ Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
+ This file is part of GlusterFS.
+
+ GlusterFS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License,
+ or (at your option) any later version.
+
+ GlusterFS is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <pthread.h>
+
+#ifndef _CONFIG_H
+#define _CONFIG_H
+#include "config.h"
+#endif
+
+#include "cli.h"
+#include "cli-cmd.h"
+#include "cli-mem-types.h"
+#include "protocol-common.h"
+
+extern struct rpc_clnt *global_rpc;
+
+extern rpc_clnt_prog_t *cli_rpc_prog;
+
+int
+cli_cmd_log_cbk (struct cli_state *state, struct cli_cmd_word *word,
+ const char **words, int wordcount)
+{
+ cli_cmd_broadcast_response (0);
+ return 0;
+}
+
+struct cli_cmd cli_log_cmds[] = {
+ { "log [VOLNAME] ...",
+ cli_cmd_log_cbk },
+
+ { NULL, NULL }
+};
+
+
+int
+cli_cmd_log_register (struct cli_state *state)
+{
+ int ret = 0;
+ struct cli_cmd *cmd = NULL;
+
+ for (cmd = cli_log_cmds; cmd->pattern; cmd++) {
+ ret = cli_cmd_register (&state->tree, cmd->pattern, cmd->cbk);
+ if (ret)
+ goto out;
+ }
+out:
+ return ret;
+}
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index cc8200bd20f..22844c500ae 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -291,41 +291,7 @@ int
cli_cmd_volume_set_cbk (struct cli_state *state, struct cli_cmd_word *word,
const char **words, int wordcount)
{
- int ret = -1;
- rpc_clnt_procedure_t *proc = NULL;
- call_frame_t *frame = NULL;
- char *volname = NULL;
- dict_t *dict = NULL;
-
-
- frame = create_frame (THIS, THIS->ctx->pool);
- if (!frame)
- goto out;
-
- volname = (char *)words[2];
- GF_ASSERT (volname);
-
- GF_ASSERT (words[3]);
-
- ret = cli_cmd_volume_set_parse (words, wordcount, &dict);
-
- if (ret)
- goto out;
-
- //TODO: Build validation here
- proc = &cli_rpc_prog->proctable[GF1_CLI_SET_VOLUME];
-
- if (proc->fn) {
- ret = proc->fn (frame, THIS, dict);
- }
-
-out:
- if (!proc && ret) {
- if (dict)
- dict_destroy (dict);
- cli_out ("Changing option on Volume %s failed", volname);
- }
-
+ cli_cmd_broadcast_response (0);
return 0;
}
@@ -442,7 +408,7 @@ cli_cmd_volume_set_transport_cbk (struct cli_state *state,
struct cli_cmd_word *word,
const char **words, int wordcount)
{
- cli_out ("volume set-transport not implemented");
+ cli_cmd_broadcast_response (0);
return 0;
}
diff --git a/cli/src/cli-cmd.c b/cli/src/cli-cmd.c
index b4967d2cca6..f7c04443c05 100644
--- a/cli/src/cli-cmd.c
+++ b/cli/src/cli-cmd.c
@@ -170,6 +170,10 @@ cli_cmds_register (struct cli_state *state)
if (ret)
goto out;
+ ret = cli_cmd_log_register (state);
+ if (ret)
+ goto out;
+
out:
return ret;
}
diff --git a/cli/src/cli-cmd.h b/cli/src/cli-cmd.h
index 87a9d3d892e..d62309de23c 100644
--- a/cli/src/cli-cmd.h
+++ b/cli/src/cli-cmd.h
@@ -37,6 +37,7 @@ int cli_cmd_volume_register (struct cli_state *state);
int cli_cmd_probe_register (struct cli_state *state);
int cli_cmd_misc_register (struct cli_state *state);
+int cli_cmd_log_register (struct cli_state *state);
struct cli_cmd_word *cli_cmd_nextword (struct cli_cmd_word *word,
const char *text);