From aaeac496c56e8d45ceace1b9eca9c773b63bae04 Mon Sep 17 00:00:00 2001 From: slguan Date: Fri, 7 Feb 2020 09:26:09 +0800 Subject: [PATCH] #1177 --- src/dnode/inc/dnodeVnodeMgmt.h | 72 +++++++++++++++++++ src/dnode/inc/vnodeMgmt.h | 27 ------- .../src/{vnodeMgmt.c => dnodeVnodeMgmt.c} | 0 3 files changed, 72 insertions(+), 27 deletions(-) create mode 100644 src/dnode/inc/dnodeVnodeMgmt.h delete mode 100644 src/dnode/inc/vnodeMgmt.h rename src/dnode/src/{vnodeMgmt.c => dnodeVnodeMgmt.c} (100%) diff --git a/src/dnode/inc/dnodeVnodeMgmt.h b/src/dnode/inc/dnodeVnodeMgmt.h new file mode 100644 index 0000000000..10ac2a712f --- /dev/null +++ b/src/dnode/inc/dnodeVnodeMgmt.h @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program 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. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#ifndef TDENGINE_DNODE_VNODE_MGMT_H +#define TDENGINE_DNODE_VNODE_MGMT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include "tsdb.h" +#include "taosmsg.h" + +/* + * Open all Vnodes in the local data directory + */ +int32_t dnodeOpenVnodes(); + +/* + * Close all Vnodes that have been created and opened + */ +int32_t dnodeCloseVnodes(); + +/* + * Check if vnode already exists + */ +int32_t dnodeCheckVnodeExist(int vid); + +/* + * Create vnode with specified configuration and open it + */ +tsdb_repo_t* dnodeCreateVnode(int vid, SVnodeCfg *cfg); + +/* + * Modify vnode configuration information + */ +int32_t dnodeConfigVnode(int vid, SVnodeCfg *cfg); + +/* + * Modify vnode replication information + */ +int32_t dnodeConfigVnodePeers(int vid, SVpeerCfg *cfg); + +/* + * Remove vnode from local repository + */ +int32_t dnodeDropVnode(int vid); + +/* + * Get the vnode object that has been opened + */ +tsdb_repo_t* dnodeGetVnode(int vid); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/dnode/inc/vnodeMgmt.h b/src/dnode/inc/vnodeMgmt.h deleted file mode 100644 index 6faa73a060..0000000000 --- a/src/dnode/inc/vnodeMgmt.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program 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. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef TDENGINE_VNODE_MGMT_H -#define TDENGINE_VNODE_MGMT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/dnode/src/vnodeMgmt.c b/src/dnode/src/dnodeVnodeMgmt.c similarity index 100% rename from src/dnode/src/vnodeMgmt.c rename to src/dnode/src/dnodeVnodeMgmt.c