Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3bbb71a5
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
3bbb71a5
编写于
2月 28, 2022
作者:
wafwerar
提交者:
GitHub
2月 28, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10435 from taosdata/fix/ZhiqiangWang/TD-13062-file-system-write-fsync-error
[TD-13062]<fix>: file system write fsync error
上级
7ba4e6f4
1e17bfa6
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
23 addition
and
17 deletion
+23
-17
source/libs/sync/test/syncTest.cpp
source/libs/sync/test/syncTest.cpp
+18
-17
source/os/src/osFile.c
source/os/src/osFile.c
+5
-0
未找到文件。
source/libs/sync/test/syncTest.cpp
浏览文件 @
3bbb71a5
...
...
@@ -2,6 +2,7 @@
#include "syncIO.h"
#include "syncInt.h"
#include "syncRaftStore.h"
#include "gtest/gtest.h"
void
*
pingFunc
(
void
*
param
)
{
SSyncIO
*
io
=
(
SSyncIO
*
)
param
;
...
...
@@ -26,32 +27,32 @@ int main() {
sFatal
(
"sync log test: fatal"
);
SRaftStore
*
pRaftStore
=
raftStoreOpen
(
"./raft_store.json"
);
assert
(
pRaftStore
!=
NULL
);
//
assert(pRaftStore != NULL);
raftStorePrint
(
pRaftStore
);
//
raftStorePrint(pRaftStore);
pRaftStore
->
currentTerm
=
100
;
pRaftStore
->
voteFor
.
addr
=
200
;
pRaftStore
->
voteFor
.
vgId
=
300
;
//
pRaftStore->currentTerm = 100;
//
pRaftStore->voteFor.addr = 200;
//
pRaftStore->voteFor.vgId = 300;
raftStorePrint
(
pRaftStore
);
//
raftStorePrint(pRaftStore);
raftStorePersist
(
pRaftStore
);
//
raftStorePersist(pRaftStore);
sDebug
(
"sync test"
);
//
sDebug("sync test");
SSyncIO
*
syncIO
=
syncIOCreate
();
assert
(
syncIO
!=
NULL
);
//
SSyncIO *syncIO = syncIOCreate();
//
assert(syncIO != NULL);
syncIO
->
start
(
syncIO
);
//
syncIO->start(syncIO);
sleep
(
2
);
//
sleep(2);
pthread_t
tid
;
pthread_create
(
&
tid
,
NULL
,
pingFunc
,
syncIO
);
//
pthread_t tid;
//
pthread_create(&tid, NULL, pingFunc, syncIO);
while
(
1
)
{
sleep
(
1
);
}
//
while (1) {
//
sleep(1);
//
}
return
0
;
}
source/os/src/osFile.c
浏览文件 @
3bbb71a5
...
...
@@ -240,6 +240,7 @@ int64_t taosCloseFile(TdFilePtr *ppFile) {
return
0
;
}
fflush
((
*
ppFile
)
->
fp
);
fsync
((
*
ppFile
)
->
fd
);
close
((
*
ppFile
)
->
fd
);
(
*
ppFile
)
->
fd
=
-
1
;
(
*
ppFile
)
->
fp
=
NULL
;
...
...
@@ -295,12 +296,16 @@ int64_t taosWriteFile(TdFilePtr pFile, const void *buf, int64_t count) {
if
(
errno
==
EINTR
)
{
continue
;
}
fflush
(
pFile
->
fp
);
fsync
(
pFile
->
fd
);
return
-
1
;
}
nleft
-=
nwritten
;
tbuf
+=
nwritten
;
}
fflush
(
pFile
->
fp
);
fsync
(
pFile
->
fd
);
return
count
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录