Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
50318f6f
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22017
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看板
提交
50318f6f
编写于
11月 28, 2022
作者:
M
Minglei Jin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tdb/pager: use tdb pwrite page to db instead of write
上级
7a7d7f7d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
12 deletion
+21
-12
source/libs/tdb/src/db/tdbPager.c
source/libs/tdb/src/db/tdbPager.c
+21
-12
未找到文件。
source/libs/tdb/src/db/tdbPager.c
浏览文件 @
50318f6f
...
...
@@ -142,7 +142,7 @@ int hashset_contains(hashset_t set, void *item) {
static
int
tdbPagerInitPage
(
SPager
*
pPager
,
SPage
*
pPage
,
int
(
*
initPage
)(
SPage
*
,
void
*
,
int
),
void
*
arg
,
u8
loadPage
);
static
int
tdbPagerWritePageToJournal
(
SPager
*
pPager
,
SPage
*
pPage
);
static
int
tdbPagerWritePageToDB
(
SPager
*
pPager
,
SPage
*
pPage
);
static
int
tdbPager
P
WritePageToDB
(
SPager
*
pPager
,
SPage
*
pPage
);
static
FORCE_INLINE
int32_t
pageCmpFn
(
const
SRBTreeNode
*
lhs
,
const
SRBTreeNode
*
rhs
)
{
SPage
*
pPageL
=
(
SPage
*
)(((
uint8_t
*
)
lhs
)
-
offsetof
(
SPage
,
node
));
...
...
@@ -326,7 +326,7 @@ int tdbPagerCommit(SPager *pPager, TXN *pTxn) {
pPage
=
(
SPage
*
)
pNode
;
ASSERT
(
pPage
->
nOverflow
==
0
);
ret
=
tdbPagerWritePageToDB
(
pPager
,
pPage
);
ret
=
tdbPager
P
WritePageToDB
(
pPager
,
pPage
);
if
(
ret
<
0
)
{
tdbError
(
"failed to write page to db since %s"
,
tstrerror
(
terrno
));
return
-
1
;
...
...
@@ -403,7 +403,7 @@ int tdbPagerPrepareAsyncCommit(SPager *pPager, TXN *pTxn) {
while
((
pNode
=
tRBTreeIterNext
(
&
iter
))
!=
NULL
)
{
pPage
=
(
SPage
*
)
pNode
;
if
(
pPage
->
isLocal
)
continue
;
ret
=
tdbPagerWritePageToDB
(
pPager
,
pPage
);
ret
=
tdbPager
P
WritePageToDB
(
pPager
,
pPage
);
if
(
ret
<
0
)
{
tdbError
(
"failed to write page to db since %s"
,
tstrerror
(
terrno
));
return
-
1
;
...
...
@@ -553,7 +553,7 @@ int tdbPagerFlushPage(SPager *pPager, TXN *pTxn) {
if
(
pgno
>
maxPgno
)
{
maxPgno
=
pgno
;
}
ret
=
tdbPagerWritePageToDB
(
pPager
,
pPage
);
ret
=
tdbPager
P
WritePageToDB
(
pPager
,
pPage
);
if
(
ret
<
0
)
{
tdbError
(
"failed to write page to db since %s"
,
tstrerror
(
terrno
));
return
-
1
;
...
...
@@ -769,13 +769,6 @@ static int tdbPagerWritePageToJournal(SPager *pPager, SPage *pPage) {
return
0
;
}
/*
struct TdFile {
TdThreadRwlock rwlock;
int refId;
int fd;
FILE *fp;
} TdFile;
*/
static int tdbPagerWritePageToDB(SPager *pPager, SPage *pPage) {
i64 offset;
int ret;
...
...
@@ -795,7 +788,23 @@ static int tdbPagerWritePageToDB(SPager *pPager, SPage *pPage) {
return -1;
}
// pwrite(pPager->fd->fd, pPage->pData, pPage->pageSize, offset);
return 0;
}
*/
static
int
tdbPagerPWritePageToDB
(
SPager
*
pPager
,
SPage
*
pPage
)
{
i64
offset
;
int
ret
;
offset
=
(
i64
)
pPage
->
pageSize
*
(
TDB_PAGE_PGNO
(
pPage
)
-
1
);
ret
=
tdbOsPWrite
(
pPager
->
fd
,
pPage
->
pData
,
pPage
->
pageSize
,
offset
);
if
(
ret
<
0
)
{
tdbError
(
"failed to pwrite page data due to %s. file:%s, pageSize:%d"
,
strerror
(
errno
),
pPager
->
dbFileName
,
pPage
->
pageSize
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录