diff options
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 8ea43f824bc..a02761d5e6e 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -8870,6 +8870,7 @@ gf_cli_snapshot_cbk (struct rpc_req *req, struct iovec *iov,          gf_cli_rsp            rsp                      = {0, };          dict_t               *dict                     = NULL;          char                 *snap_name                = NULL; +        char                 *clone_name               = NULL;          int32_t               type                     =  0;          call_frame_t         *frame                    = NULL;          gf_boolean_t         snap_driven               = _gf_false; @@ -8961,6 +8962,35 @@ gf_cli_snapshot_cbk (struct rpc_req *req, struct iovec *iov,                  ret = 0;                  break; +        case GF_SNAP_OPTION_TYPE_CLONE: +                if (rsp.op_ret) { +                        cli_err("snapshot clone: failed: %s", +                                 rsp.op_errstr ? rsp.op_errstr : +                                 "Please check log file for details"); +                                 ret = rsp.op_ret; +                                 goto out; +                } + +                ret = dict_get_str (dict, "clonename", &clone_name); +                if (ret) { +                        gf_log ("cli", GF_LOG_ERROR, +                                "Failed to get clone name"); +                        goto out; +                } + +                ret = dict_get_str (dict, "snapname", &snap_name); +                if (ret) { +                        gf_log ("cli", GF_LOG_ERROR, +                                "Failed to get snapname name"); +                        goto out; +                } + +                cli_out ("snapshot clone: success: Clone %s created " +                                        "successfully", clone_name); + +                ret = 0; +                break; +          case GF_SNAP_OPTION_TYPE_RESTORE:                  /* TODO: Check if rsp.op_ret needs to be checked here. Or is                   * it ok to check this in the start of the function where we  | 
