Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9e3e40ad
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9e3e40ad
编写于
1月 06, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
integrate TFS
上级
961b4d82
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
122 addition
and
21 deletion
+122
-21
include/libs/tfs/tfs.h
include/libs/tfs/tfs.h
+103
-0
include/os/os.h
include/os/os.h
+2
-0
source/libs/CMakeLists.txt
source/libs/CMakeLists.txt
+1
-0
source/libs/tfs/CMakeLists.txt
source/libs/tfs/CMakeLists.txt
+9
-0
source/libs/tfs/inc/tfsint.h
source/libs/tfs/inc/tfsint.h
+0
-0
source/libs/tfs/src/tdisk.c
source/libs/tfs/src/tdisk.c
+0
-0
source/libs/tfs/src/tfs.c
source/libs/tfs/src/tfs.c
+7
-9
source/libs/tfs/src/ttier.c
source/libs/tfs/src/ttier.c
+0
-0
src/tfs/CMakeLists.txt
src/tfs/CMakeLists.txt
+0
-12
未找到文件。
include/libs/tfs/tfs.h
0 → 100644
浏览文件 @
9e3e40ad
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* 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 <http://www.gnu.org/licenses/>.
*/
#ifndef TD_TFS_H
#define TD_TFS_H
#include "tglobal.h"
#ifdef __cplusplus
extern
"C"
{
#endif
typedef
struct
{
int
level
;
int
id
;
}
SDiskID
;
#define TFS_UNDECIDED_LEVEL -1
#define TFS_UNDECIDED_ID -1
#define TFS_PRIMARY_LEVEL 0
#define TFS_PRIMARY_ID 0
#define TFS_MIN_LEVEL 0
#define TFS_MAX_LEVEL (TSDB_MAX_TIERS - 1)
// FS APIs ====================================
typedef
struct
{
int64_t
tsize
;
int64_t
used
;
int64_t
avail
;
}
SFSMeta
;
typedef
struct
{
int64_t
size
;
int64_t
used
;
int64_t
free
;
int16_t
nAvailDisks
;
// # of Available disks
}
STierMeta
;
int
tfsInit
(
SDiskCfg
*
pDiskCfg
,
int
ndisk
);
void
tfsDestroy
();
void
tfsUpdateInfo
(
SFSMeta
*
pFSMeta
,
STierMeta
*
tierMetas
,
int8_t
numLevels
);
void
tfsGetMeta
(
SFSMeta
*
pMeta
);
void
tfsAllocDisk
(
int
expLevel
,
int
*
level
,
int
*
id
);
const
char
*
TFS_PRIMARY_PATH
();
const
char
*
TFS_DISK_PATH
(
int
level
,
int
id
);
// TFILE APIs ====================================
typedef
struct
{
int
level
;
int
id
;
char
rname
[
TSDB_FILENAME_LEN
];
// REL name
char
aname
[
TSDB_FILENAME_LEN
];
// ABS name
}
TFILE
;
#define TFILE_LEVEL(pf) ((pf)->level)
#define TFILE_ID(pf) ((pf)->id)
#define TFILE_NAME(pf) ((pf)->aname)
#define TFILE_REL_NAME(pf) ((pf)->rname)
#define tfsopen(pf, flags) open(TFILE_NAME(pf), flags)
#define tfsclose(fd) close(fd)
#define tfsremove(pf) remove(TFILE_NAME(pf))
#define tfscopy(sf, df) taosCopy(TFILE_NAME(sf), TFILE_NAME(df))
#define tfsrename(sf, df) taosRename(TFILE_NAME(sf), TFILE_NAME(df))
void
tfsInitFile
(
TFILE
*
pf
,
int
level
,
int
id
,
const
char
*
bname
);
bool
tfsIsSameFile
(
const
TFILE
*
pf1
,
const
TFILE
*
pf2
);
int
tfsEncodeFile
(
void
**
buf
,
TFILE
*
pf
);
void
*
tfsDecodeFile
(
void
*
buf
,
TFILE
*
pf
);
void
tfsbasename
(
const
TFILE
*
pf
,
char
*
dest
);
void
tfsdirname
(
const
TFILE
*
pf
,
char
*
dest
);
// DIR APIs ====================================
int
tfsMkdirAt
(
const
char
*
rname
,
int
level
,
int
id
);
int
tfsMkdirRecurAt
(
const
char
*
rname
,
int
level
,
int
id
);
int
tfsMkdir
(
const
char
*
rname
);
int
tfsRmdir
(
const
char
*
rname
);
int
tfsRename
(
char
*
orname
,
char
*
nrname
);
typedef
struct
TDIR
TDIR
;
TDIR
*
tfsOpendir
(
const
char
*
rname
);
const
TFILE
*
tfsReaddir
(
TDIR
*
tdir
);
void
tfsClosedir
(
TDIR
*
tdir
);
#ifdef __cplusplus
}
#endif
#endif
include/os/os.h
浏览文件 @
9e3e40ad
...
...
@@ -44,6 +44,8 @@ extern "C" {
#include <unistd.h>
#include <wchar.h>
#include <wctype.h>
#include <regex.h>
#include <wordexp.h>
#include <sys/mman.h>
...
...
source/libs/CMakeLists.txt
浏览文件 @
9e3e40ad
...
...
@@ -12,3 +12,4 @@ add_subdirectory(planner)
add_subdirectory
(
function
)
add_subdirectory
(
qcom
)
add_subdirectory
(
qworker
)
add_subdirectory
(
tfs
)
source/libs/tfs/CMakeLists.txt
0 → 100644
浏览文件 @
9e3e40ad
aux_source_directory
(
src TFS_SRC
)
add_library
(
tfs STATIC
${
TFS_SRC
}
)
target_include_directories
(
tfs
PUBLIC
"
${
CMAKE_SOURCE_DIR
}
/include/libs/tfs"
PRIVATE
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc"
)
target_link_libraries
(
tfs os util common
)
\ No newline at end of file
s
rc
/tfs/inc/tfsint.h
→
s
ource/libs
/tfs/inc/tfsint.h
浏览文件 @
9e3e40ad
文件已移动
s
rc
/tfs/src/tdisk.c
→
s
ource/libs
/tfs/src/tdisk.c
浏览文件 @
9e3e40ad
文件已移动
s
rc
/tfs/src/tfs.c
→
s
ource/libs
/tfs/src/tfs.c
浏览文件 @
9e3e40ad
...
...
@@ -15,11 +15,11 @@
#include "os.h"
#include "hash.h"
#include "taosdef.h"
#include "taoserror.h"
#include "tfs.h"
#include "tfsint.h"
#include "thash.h"
#define TMPNAME_LEN (TSDB_FILENAME_LEN * 2 + 32)
...
...
@@ -270,7 +270,8 @@ int tfsMkdirRecurAt(const char *rname, int level, int id) {
// Some platform may modify the contents of the string passed into dirname(). Others may return a pointer to
// internal static storage space that will be overwritten by next call. For case like that, we should not use
// the pointer directly in this recursion.
// See https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dirname.3.html
// See
// https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dirname.3.html
char
*
dir
=
strdup
(
dirname
(
s
));
if
(
tfsMkdirRecurAt
(
dir
,
level
,
id
)
<
0
)
{
...
...
@@ -504,7 +505,6 @@ static int tfsFormatDir(char *idir, char *odir) {
wordfree
(
&
wep
);
return
0
;
}
static
int
tfsCheck
()
{
...
...
@@ -599,12 +599,10 @@ void taosGetDisk() {
SysDiskSize
diskSize
;
SFSMeta
fsMeta
;
if
(
tscEmbedded
)
{
tfsUpdateInfo
(
&
fsMeta
,
NULL
,
0
);
tsTotalDataDirGB
=
(
float
)(
fsMeta
.
tsize
/
unit
);
tsUsedDataDirGB
=
(
float
)(
fsMeta
.
used
/
unit
);
tsAvailDataDirGB
=
(
float
)(
fsMeta
.
avail
/
unit
);
}
tfsUpdateInfo
(
&
fsMeta
,
NULL
,
0
);
tsTotalDataDirGB
=
(
float
)(
fsMeta
.
tsize
/
unit
);
tsUsedDataDirGB
=
(
float
)(
fsMeta
.
used
/
unit
);
tsAvailDataDirGB
=
(
float
)(
fsMeta
.
avail
/
unit
);
if
(
taosGetDiskSize
(
tsLogDir
,
&
diskSize
)
==
0
)
{
tsTotalLogDirGB
=
(
float
)(
diskSize
.
tsize
/
unit
);
...
...
s
rc
/tfs/src/ttier.c
→
s
ource/libs
/tfs/src/ttier.c
浏览文件 @
9e3e40ad
文件已移动
src/tfs/CMakeLists.txt
已删除
100644 → 0
浏览文件 @
961b4d82
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8...3.20
)
PROJECT
(
TDengine
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
ADD_LIBRARY
(
tfs
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
tfs tutil
)
IF
(
TD_LINUX
)
# Someone has no gtest directory, so comment it
# ADD_SUBDIRECTORY(tests)
ENDIF
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录