Merge pull request #6258 from taosdata/feature/TD-1920
[TD-1920]add mnode_bak and mnode_tmp dir exist check when start up
This commit is contained in:
commit
a0533072db
|
@ -219,14 +219,20 @@ static int32_t dnodeInitStorage() {
|
|||
|
||||
if (tsCompactMnodeWal == 1) {
|
||||
sprintf(tsMnodeTmpDir, "%s/mnode_tmp", tsDataDir);
|
||||
tfsRmdir(tsMnodeTmpDir);
|
||||
if (taosDirExist(tsMnodeTmpDir)) {
|
||||
dError("mnode_tmp dir already exist in %s,quit compact job", tsMnodeTmpDir);
|
||||
return -1;
|
||||
}
|
||||
if (dnodeCreateDir(tsMnodeTmpDir) < 0) {
|
||||
dError("failed to create dir: %s, reason: %s", tsMnodeTmpDir, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
sprintf(tsMnodeBakDir, "%s/mnode_bak", tsDataDir);
|
||||
//tfsRmdir(tsMnodeBakDir);
|
||||
if (taosDirExist(tsMnodeBakDir)) {
|
||||
dError("mnode_bak dir already exist in %s,quit compact job", tsMnodeBakDir);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
//TODO(dengyihao): no need to init here
|
||||
if (dnodeCreateDir(tsMnodeDir) < 0) {
|
||||
|
|
|
@ -21,6 +21,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
void taosRemoveDir(char *rootDir);
|
||||
bool taosDirExist(const char* dirname);
|
||||
int32_t taosMkDir(const char *pathname, mode_t mode);
|
||||
void taosRemoveOldLogFiles(char *rootDir, int32_t keepDays);
|
||||
int32_t taosRename(char *oldName, char *newName);
|
||||
|
|
|
@ -45,6 +45,10 @@ void taosRemoveDir(char *rootDir) {
|
|||
uInfo("dir:%s is removed", rootDir);
|
||||
}
|
||||
|
||||
bool taosDirExist(const char* dirname) {
|
||||
return access(dirname, F_OK) == 0;
|
||||
}
|
||||
|
||||
int taosMkDir(const char *path, mode_t mode) {
|
||||
int code = mkdir(path, 0755);
|
||||
if (code < 0 && errno == EEXIST) code = 0;
|
||||
|
|
Loading…
Reference in New Issue