diff options
Diffstat (limited to 'cli/src')
| -rw-r--r-- | cli/src/Makefile.am | 2 | ||||
| -rw-r--r-- | cli/src/cli-cmd-log.c | 69 | ||||
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 38 | ||||
| -rw-r--r-- | cli/src/cli-cmd.c | 4 | ||||
| -rw-r--r-- | cli/src/cli-cmd.h | 1 | 
5 files changed, 77 insertions, 37 deletions
diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am index 084cad5d9..ba2751180 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 000000000..9b905965d --- /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 cc8200bd2..22844c500 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 b4967d2cc..f7c04443c 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 87a9d3d89..d62309de2 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);  | 
