Merge pull request #1784 from haoyifan/develop
[Trivial] Fix initialization code of TSDB_MOD_MGMT module.
This commit is contained in:
commit
a3dcef3a84
|
@ -71,13 +71,13 @@ void dnodeMgmt(SRpcMsg *pMsg) {
|
||||||
rpcFreeCont(pMsg->pCont);
|
rpcFreeCont(pMsg->pCont);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t dnodeGetVnodeList(int32_t vnodeList[]) {
|
static int32_t dnodeGetVnodeList(int32_t vnodeList[], int32_t *numOfVnodes) {
|
||||||
DIR *dir = opendir(tsVnodeDir);
|
DIR *dir = opendir(tsVnodeDir);
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
return TSDB_CODE_NO_WRITE_ACCESS;
|
return TSDB_CODE_NO_WRITE_ACCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t numOfVnodes = 0;
|
*numOfVnodes = 0;
|
||||||
struct dirent *de = NULL;
|
struct dirent *de = NULL;
|
||||||
while ((de = readdir(dir)) != NULL) {
|
while ((de = readdir(dir)) != NULL) {
|
||||||
if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) continue;
|
if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) continue;
|
||||||
|
@ -86,21 +86,28 @@ static int32_t dnodeGetVnodeList(int32_t vnodeList[]) {
|
||||||
int32_t vnode = atoi(de->d_name + 5);
|
int32_t vnode = atoi(de->d_name + 5);
|
||||||
if (vnode == 0) continue;
|
if (vnode == 0) continue;
|
||||||
|
|
||||||
vnodeList[numOfVnodes] = vnode;
|
vnodeList[*numOfVnodes] = vnode;
|
||||||
numOfVnodes++;
|
(*numOfVnodes)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
|
||||||
return numOfVnodes;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t dnodeOpenVnodes() {
|
static int32_t dnodeOpenVnodes() {
|
||||||
char vnodeDir[TSDB_FILENAME_LEN * 3];
|
char vnodeDir[TSDB_FILENAME_LEN * 3];
|
||||||
int32_t failed = 0;
|
int32_t failed = 0;
|
||||||
|
|
||||||
int32_t *vnodeList = (int32_t *)malloc(sizeof(int32_t) * TSDB_MAX_VNODES);
|
int32_t *vnodeList = (int32_t *)malloc(sizeof(int32_t) * TSDB_MAX_VNODES);
|
||||||
int32_t numOfVnodes = dnodeGetVnodeList(vnodeList);
|
int32_t numOfVnodes;
|
||||||
|
int32_t status;
|
||||||
|
|
||||||
|
status = dnodeGetVnodeList(vnodeList, &numOfVnodes);
|
||||||
|
|
||||||
|
if (status != TSDB_CODE_SUCCESS) {
|
||||||
|
dPrint("Get dnode list failed");
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
for (int32_t i = 0; i < numOfVnodes; ++i) {
|
for (int32_t i = 0; i < numOfVnodes; ++i) {
|
||||||
snprintf(vnodeDir, TSDB_FILENAME_LEN * 3, "%s/vnode%d", tsVnodeDir, vnodeList[i]);
|
snprintf(vnodeDir, TSDB_FILENAME_LEN * 3, "%s/vnode%d", tsVnodeDir, vnodeList[i]);
|
||||||
|
@ -115,7 +122,15 @@ static int32_t dnodeOpenVnodes() {
|
||||||
|
|
||||||
static void dnodeCloseVnodes() {
|
static void dnodeCloseVnodes() {
|
||||||
int32_t *vnodeList = (int32_t *)malloc(sizeof(int32_t) * TSDB_MAX_VNODES);
|
int32_t *vnodeList = (int32_t *)malloc(sizeof(int32_t) * TSDB_MAX_VNODES);
|
||||||
int32_t numOfVnodes = dnodeGetVnodeList(vnodeList);
|
int32_t numOfVnodes;
|
||||||
|
int32_t status;
|
||||||
|
|
||||||
|
status = dnodeGetVnodeList(vnodeList, &numOfVnodes);
|
||||||
|
|
||||||
|
if (status != TSDB_CODE_SUCCESS) {
|
||||||
|
dPrint("Get dnode list failed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (int32_t i = 0; i < numOfVnodes; ++i) {
|
for (int32_t i = 0; i < numOfVnodes; ++i) {
|
||||||
vnodeClose(vnodeList[i]);
|
vnodeClose(vnodeList[i]);
|
||||||
|
|
|
@ -44,7 +44,7 @@ static void dnodeUnSetModuleStatus(int32_t module) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dnodeAllocModules() {
|
static void dnodeAllocModules() {
|
||||||
tsModule[TSDB_MOD_MGMT].name = false;
|
tsModule[TSDB_MOD_MGMT].enable = false;
|
||||||
tsModule[TSDB_MOD_MGMT].name = "mgmt";
|
tsModule[TSDB_MOD_MGMT].name = "mgmt";
|
||||||
tsModule[TSDB_MOD_MGMT].initFp = mgmtInitSystem;
|
tsModule[TSDB_MOD_MGMT].initFp = mgmtInitSystem;
|
||||||
tsModule[TSDB_MOD_MGMT].cleanUpFp = mgmtCleanUpSystem;
|
tsModule[TSDB_MOD_MGMT].cleanUpFp = mgmtCleanUpSystem;
|
||||||
|
|
Loading…
Reference in New Issue