Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0a38853f
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0a38853f
编写于
2月 25, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tfs config
上级
79d965d7
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
66 addition
and
22 deletion
+66
-22
include/util/tconfig.h
include/util/tconfig.h
+4
-3
source/common/src/tglobal.c
source/common/src/tglobal.c
+29
-15
source/libs/tfs/src/tfs.c
source/libs/tfs/src/tfs.c
+1
-1
source/util/src/tconfig.c
source/util/src/tconfig.c
+32
-3
未找到文件。
include/util/tconfig.h
浏览文件 @
0a38853f
...
...
@@ -59,6 +59,7 @@ typedef struct SConfigItem {
int32_t
i32
;
int64_t
i64
;
char
*
str
;
SArray
*
array
;
// SDiskCfg
};
union
{
int64_t
imin
;
...
...
@@ -71,15 +72,15 @@ typedef struct SConfigItem {
}
SConfigItem
;
typedef
struct
{
char
*
name
;
char
*
value
;
c
onst
c
har
*
name
;
c
onst
c
har
*
value
;
}
SConfigPair
;
typedef
struct
SConfig
SConfig
;
SConfig
*
cfgInit
();
int32_t
cfgLoad
(
SConfig
*
pCfg
,
ECfgSrcType
cfgType
,
const
char
*
sourceStr
);
int32_t
cfgLoadArray
(
SConfig
*
pCfg
,
SArray
*
pArgs
);
int32_t
cfgLoadArray
(
SConfig
*
pCfg
,
SArray
*
pArgs
);
// SConfigPair
void
cfgCleanup
(
SConfig
*
pCfg
);
int32_t
cfgGetSize
(
SConfig
*
pCfg
);
...
...
source/common/src/tglobal.c
浏览文件 @
0a38853f
...
...
@@ -154,19 +154,20 @@ static void taosAddDataDir(int32_t index, char *v1, int32_t level, int32_t prima
uTrace
(
"dataDir:%s, level:%d primary:%d is configured"
,
v1
,
level
,
primary
);
}
static
void
taosReadDataDirCfg
(
char
*
v1
,
char
*
v2
,
char
*
v3
)
{
if
(
tsDiskCfgNum
==
1
)
{
SDiskCfg
*
cfg
=
&
tsDiskCfg
[
0
];
uInfo
(
"dataDir:%s, level:%d primary:%d is replaced by %s"
,
cfg
->
dir
,
cfg
->
level
,
cfg
->
primary
,
v1
);
}
taosAddDataDir
(
0
,
v1
,
0
,
1
);
tsDiskCfgNum
=
1
;
}
static
void
taosPrintDataDirCfg
()
{
for
(
int32_t
i
=
0
;
i
<
tsDiskCfgNum
;
++
i
)
{
SDiskCfg
*
cfg
=
&
tsDiskCfg
[
i
];
uInfo
(
" dataDir: %s"
,
cfg
->
dir
);
static
void
taosSetTfsCfg
(
SConfig
*
pCfg
)
{
SConfigItem
*
pItem
=
cfgGetItem
(
pCfg
,
"dataDir"
);
if
(
pItem
==
NULL
)
return
;
int32_t
size
=
taosArrayGetSize
(
pItem
->
array
);
if
(
size
<=
0
)
{
tsDiskCfgNum
=
1
;
taosAddDataDir
(
0
,
pItem
->
str
,
0
,
1
);
}
else
{
tsDiskCfgNum
=
size
<
TFS_MAX_DISKS
?
size
:
TFS_MAX_DISKS
;
for
(
int32_t
index
=
0
;
index
<
tsDiskCfgNum
;
++
index
)
{
SDiskCfg
*
pCfg
=
taosArrayGet
(
pItem
->
array
,
index
);
memcpy
(
&
tsDiskCfg
[
index
],
pCfg
,
sizeof
(
SDiskCfg
));
}
}
}
...
...
@@ -270,7 +271,7 @@ static int32_t taosAddClientCfg(SConfig *pCfg) {
return
0
;
}
static
int32_t
taosAddSystem
Info
(
SConfig
*
pCfg
)
{
static
int32_t
taosAddSystem
Cfg
(
SConfig
*
pCfg
)
{
SysNameInfo
info
=
taosGetSysNameInfo
();
if
(
cfgAddTimezone
(
pCfg
,
"timezone"
,
tsTimezone
)
!=
0
)
return
-
1
;
...
...
@@ -440,6 +441,12 @@ int32_t taosCreateLog(const char *logname, int32_t logFileNum, const char *cfgDi
return
-
1
;
}
if
(
cfgLoadArray
(
pCfg
,
pArgs
)
!=
0
)
{
uError
(
"failed to load cfg from array since %s"
,
terrstr
());
cfgCleanup
(
pCfg
);
return
-
1
;
}
if
(
tsc
)
{
taosSetClientLogCfg
(
pCfg
);
}
else
{
...
...
@@ -472,7 +479,7 @@ int32_t taosInitCfg(const char *cfgDir, const char *envFile, const char *apolloU
if
(
taosAddClientCfg
(
tsCfg
)
!=
0
)
return
-
1
;
if
(
taosAddServerCfg
(
tsCfg
)
!=
0
)
return
-
1
;
}
taosAddSystem
Info
(
tsCfg
);
taosAddSystem
Cfg
(
tsCfg
);
if
(
taosLoadCfg
(
tsCfg
,
cfgDir
,
envFile
,
apolloUrl
)
!=
0
)
{
uError
(
"failed to load cfg since %s"
,
terrstr
());
...
...
@@ -481,11 +488,18 @@ int32_t taosInitCfg(const char *cfgDir, const char *envFile, const char *apolloU
return
-
1
;
}
if
(
cfgLoadArray
(
tsCfg
,
pArgs
)
!=
0
)
{
uError
(
"failed to load cfg from array since %s"
,
terrstr
());
cfgCleanup
(
tsCfg
);
return
-
1
;
}
if
(
tsc
)
{
taosSetClientCfg
(
tsCfg
);
}
else
{
taosSetClientCfg
(
tsCfg
);
taosSetServerCfg
(
tsCfg
);
taosSetTfsCfg
(
tsCfg
);
}
taosSetSystemCfg
(
tsCfg
);
...
...
source/libs/tfs/src/tfs.c
浏览文件 @
0a38853f
...
...
@@ -25,7 +25,7 @@ static int32_t tfsOpendirImpl(STfs *pTfs, STfsDir *pDir);
static
STfsDisk
*
tfsNextDisk
(
STfs
*
pTfs
,
SDiskIter
*
pIter
);
STfs
*
tfsOpen
(
SDiskCfg
*
pCfg
,
int32_t
ndisk
)
{
if
(
ndisk
<
0
||
ndisk
>
TFS_MAX_DISKS
)
{
if
(
ndisk
<
=
0
||
ndisk
>
TFS_MAX_DISKS
)
{
terrno
=
TSDB_CODE_INVALID_PARA
;
return
NULL
;
}
...
...
source/util/src/tconfig.c
浏览文件 @
0a38853f
...
...
@@ -16,6 +16,7 @@
#define _DEFAULT_SOURCE
#include "tconfig.h"
#include "taoserror.h"
#include "tcfg.h"
#include "thash.h"
#include "tutil.h"
#include "ulog.h"
...
...
@@ -321,6 +322,32 @@ int32_t cfgSetItem(SConfig *pCfg, const char *name, const char *value, ECfgSrcTy
return
-
1
;
}
static
int32_t
cfgSetTfsItem
(
SConfig
*
pCfg
,
const
char
*
name
,
const
char
*
value
,
const
char
*
level
,
const
char
*
primary
,
ECfgSrcType
stype
)
{
SConfigItem
*
pItem
=
cfgGetItem
(
pCfg
,
name
);
if
(
pItem
==
NULL
)
return
-
1
;
if
(
pItem
->
array
==
NULL
)
{
pItem
->
array
=
taosArrayInit
(
16
,
sizeof
(
SDiskCfg
));
if
(
pItem
->
array
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
return
-
1
;
}
}
SDiskCfg
cfg
=
{
0
};
tstrncpy
(
cfg
.
dir
,
name
,
sizeof
(
cfg
.
dir
));
cfg
.
level
=
atoi
(
level
);
cfg
.
primary
=
atoi
(
primary
);
void
*
ret
=
taosArrayPush
(
pItem
->
array
,
&
cfg
);
if
(
ret
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
return
-
1
;
}
return
0
;
}
SConfigItem
*
cfgGetItem
(
SConfig
*
pCfg
,
const
char
*
name
)
{
char
lowcaseName
[
CFG_NAME_MAX_LEN
+
1
]
=
{
0
};
memcpy
(
lowcaseName
,
name
,
CFG_NAME_MAX_LEN
);
...
...
@@ -487,12 +514,12 @@ const char *cfgDtypeStr(ECfgDataType type) {
void
cfgDumpCfg
(
SConfig
*
pCfg
,
bool
tsc
,
bool
dump
)
{
if
(
dump
)
{
printf
(
" global config"
);
printf
(
"
global config"
);
printf
(
"
\n
"
);
printf
(
"================================================================="
);
printf
(
"
\n
"
);
}
else
{
uInfo
(
" global config"
);
uInfo
(
"
global config"
);
uInfo
(
"================================================================="
);
}
...
...
@@ -620,7 +647,9 @@ int32_t cfgLoadFromCfgFile(SConfig *pConfig, const char *filepath) {
}
cfgSetItem
(
pConfig
,
name
,
value
,
CFG_STYPE_CFG_FILE
);
// taosReadConfigOption(name, value, value2, value3);
if
(
value2
!=
NULL
&&
value3
!=
NULL
&&
value2
[
0
]
!=
0
&&
value3
[
0
]
!=
0
)
{
cfgSetTfsItem
(
pConfig
,
name
,
value
,
value2
,
value3
,
CFG_STYPE_CFG_FILE
);
}
}
taosCloseFile
(
&
pFile
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录