Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a82ac7de
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看板
提交
a82ac7de
编写于
11月 03, 2020
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-1912
上级
b8e60b79
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
108 addition
and
257 deletion
+108
-257
src/dnode/src/dnodeTelemetry.c
src/dnode/src/dnodeTelemetry.c
+1
-1
src/os/inc/osDarwin.h
src/os/inc/osDarwin.h
+0
-2
src/os/inc/osFile.h
src/os/inc/osFile.h
+22
-36
src/os/inc/osWindows.h
src/os/inc/osWindows.h
+1
-4
src/os/src/darwin/darwinFile.c
src/os/src/darwin/darwinFile.c
+8
-11
src/os/src/detail/osFail.c
src/os/src/detail/osFail.c
+0
-141
src/os/src/detail/osFile.c
src/os/src/detail/osFile.c
+34
-18
src/os/src/windows/wFile.c
src/os/src/windows/wFile.c
+3
-3
src/sync/src/syncRetrieve.c
src/sync/src/syncRetrieve.c
+2
-2
src/tsdb/src/tsdbFile.c
src/tsdb/src/tsdbFile.c
+2
-2
src/tsdb/src/tsdbMain.c
src/tsdb/src/tsdbMain.c
+2
-2
src/tsdb/src/tsdbRWHelper.c
src/tsdb/src/tsdbRWHelper.c
+9
-9
src/util/src/tkvstore.c
src/util/src/tkvstore.c
+9
-9
src/util/src/tlog.c
src/util/src/tlog.c
+10
-12
src/util/src/tnote.c
src/util/src/tnote.c
+1
-1
src/wal/src/walWrite.c
src/wal/src/walWrite.c
+4
-4
未找到文件。
src/dnode/src/dnodeTelemetry.c
浏览文件 @
a82ac7de
...
...
@@ -268,7 +268,7 @@ static void dnodeGetEmail(char* filepath) {
return
;
}
if
(
taos
T
Read
(
fd
,
(
void
*
)
tsEmail
,
TSDB_FQDN_LEN
)
<
0
)
{
if
(
taosRead
(
fd
,
(
void
*
)
tsEmail
,
TSDB_FQDN_LEN
)
<
0
)
{
dError
(
"failed to read %d bytes from file %s since %s"
,
TSDB_FQDN_LEN
,
filepath
,
strerror
(
errno
));
}
...
...
src/os/inc/osDarwin.h
浏览文件 @
a82ac7de
...
...
@@ -72,8 +72,6 @@ extern "C" {
#include <sys/utsname.h>
#define TAOS_OS_FUNC_FILE_SENDIFLE
#define taosFSendFile(outfile, infile, offset, count) taosFSendFileImp(outfile, infile, offset, size)
#define taosTSendFile(dfd, sfd, offset, size) taosTSendFileImp(dfd, sfd, offset, size)
#define TAOS_OS_FUNC_SEMPHONE
#define tsem_t dispatch_semaphore_t
...
...
src/os/inc/osFile.h
浏览文件 @
a82ac7de
...
...
@@ -20,46 +20,32 @@
extern
"C"
{
#endif
ssize_t
taosTReadImp
(
int
fd
,
void
*
buf
,
size_t
count
);
ssize_t
taosTWriteImp
(
int
fd
,
void
*
buf
,
size_t
count
);
ssize_t
taosTSendFileImp
(
int
dfd
,
int
sfd
,
off_t
*
offset
,
size_t
size
);
int
taosFSendFileImp
(
FILE
*
out_file
,
FILE
*
in_file
,
int64_t
*
offset
,
int32_t
count
);
#ifndef TAOS_OS_FUNC_FILE_SENDIFLE
#define taosTSendFile(dfd, sfd, offset, size) taosTSendFileImp(dfd, sfd, offset, size)
#define taosFSendFile(outfile, infile, offset, count) taosTSendFileImp(fileno(outfile), fileno(infile), offset, size)
#endif
#define taosTRead(fd, buf, count) taosTReadImp(fd, buf, count)
#define taosTWrite(fd, buf, count) taosTWriteImp(fd, buf, count)
#define taosLSeek(fd, offset, whence) lseek(fd, offset, whence)
#ifdef TAOS_RANDOM_FILE_FAIL
void
taosSetRandomFileFailFactor
(
int
factor
);
void
taosSetRandomFileFailOutput
(
const
char
*
path
);
#ifdef TAOS_RANDOM_FILE_FAIL_TEST
ssize_t
taosReadFileRandomFail
(
int
fd
,
void
*
buf
,
size_t
count
,
const
char
*
file
,
uint32_t
line
);
ssize_t
taosWriteFileRandomFail
(
int
fd
,
void
*
buf
,
size_t
count
,
const
char
*
file
,
uint32_t
line
);
off_t
taosLSeekRandomFail
(
int
fd
,
off_t
offset
,
int
whence
,
const
char
*
file
,
uint32_t
line
);
#undef taosTRead
#undef taosTWrite
#undef taosLSeek
#define taosTRead(fd, buf, count) taosReadFileRandomFail(fd, buf, count, __FILE__, __LINE__)
#define taosTWrite(fd, buf, count) taosWriteFileRandomFail(fd, buf, count, __FILE__, __LINE__)
#define taosLSeek(fd, offset, whence) taosLSeekRandomFail(fd, offset, whence, __FILE__, __LINE__)
#endif
#endif
int32_t
taosFileRename
(
char
*
fullPath
,
char
*
suffix
,
char
delimiter
,
char
**
dstPath
);
#define treadfile(fd, buf, count) read(fd, buf, count)
#define twritefile(fd, buf, count) write(fd, buf, count)
#define tlseekfile(fd, offset, whence) lseek(fd, offset, whence)
#define tclosefile(fd) \
{ \
if (FD_VALID(x)) { \
close(x); \
x = FD_INITIALIZER; \
} \
}
int64_t
taosRead
(
int32_t
fd
,
void
*
buf
,
int64_t
count
);
int64_t
taosWrite
(
int32_t
fd
,
void
*
buf
,
int64_t
count
);
int64_t
taosLSeek
(
int32_t
fd
,
int64_t
offset
,
int32_t
whence
);
int32_t
taosRenameFile
(
char
*
fullPath
,
char
*
suffix
,
char
delimiter
,
char
**
dstPath
);
// TAOS_OS_FUNC_FILE_SENDIFLE
int64_t
taosSendFile
(
int32_t
dfd
,
int32_t
sfd
,
int64_t
*
offset
,
int64_t
size
);
int64_t
taosFSendFile
(
FILE
*
outfile
,
FILE
*
infile
,
int64_t
*
offset
,
int64_t
size
);
// TAOS_OS_FUNC_FILE_GETTMPFILEPATH
void
taosGetTmpfilePath
(
const
char
*
fileNamePrefix
,
char
*
dstPath
);
#ifndef TAOS_OS_FUNC_FILE_FTRUNCATE
#define taosFtruncate ftruncate
#endif
// TAOS_OS_FUNC_FILE_FTRUNCATE
int32_t
taosFtruncate
(
int32_t
fd
,
int64_t
length
);
#ifdef __cplusplus
}
#endif
...
...
src/os/inc/osWindows.h
浏览文件 @
a82ac7de
...
...
@@ -62,11 +62,8 @@ extern "C" {
#define TAOS_OS_FUNC_FILE_ISDIR
#define TAOS_OS_FUNC_FILE_ISLNK
#define TAOS_OS_FUNC_FILE_SENDIFLE
#define taosFSendFile(outfile, infile, offset, count) taosFSendFileImp(outfile, infile, offset, size)
#define taosTSendFile(dfd, sfd, offset, size) taosTSendFileImp(dfd, sfd, offset, size)
#define TAOS_OS_FUNC_FILE_GETTMPFILEPATH
#define TAOS_OS_FUNC_FILE_FTRUNCATE
extern
int
taosFtruncate
(
int
fd
,
int64_t
length
);
#define TAOS_OS_FUNC_FILE_FTRUNCATE
#define TAOS_OS_FUNC_MATH
#define SWAP(a, b, c) \
...
...
src/os/src/darwin/darwinFile.c
浏览文件 @
a82ac7de
...
...
@@ -19,21 +19,19 @@
#define _SEND_FILE_STEP_ 1000
int
taosFSendFileImp
(
FILE
*
out_file
,
FILE
*
in_file
,
int64_t
*
offset
,
int32
_t
count
)
{
int
64_t
taosFSendFile
(
FILE
*
out_file
,
FILE
*
in_file
,
int64_t
*
offset
,
int64
_t
count
)
{
fseek
(
in_file
,
(
int32_t
)(
*
offset
),
0
);
int
writeLen
=
0
;
uint8_t
buffer
[
_SEND_FILE_STEP_
]
=
{
0
};
int
writeLen
=
0
;
uint8_t
buffer
[
_SEND_FILE_STEP_
]
=
{
0
};
for
(
int
len
=
0
;
len
<
(
count
-
_SEND_FILE_STEP_
);
len
+=
_SEND_FILE_STEP_
)
{
size_t
rlen
=
fread
(
buffer
,
1
,
_SEND_FILE_STEP_
,
in_file
);
if
(
rlen
<=
0
)
{
return
writeLen
;
}
else
if
(
rlen
<
_SEND_FILE_STEP_
)
{
}
else
if
(
rlen
<
_SEND_FILE_STEP_
)
{
fwrite
(
buffer
,
1
,
rlen
,
out_file
);
return
(
int
)(
writeLen
+
rlen
);
}
else
{
}
else
{
fwrite
(
buffer
,
1
,
_SEND_FILE_STEP_
,
in_file
);
writeLen
+=
_SEND_FILE_STEP_
;
}
...
...
@@ -44,8 +42,7 @@ int taosFSendFileImp(FILE* out_file, FILE* in_file, int64_t* offset, int32_t cou
size_t
rlen
=
fread
(
buffer
,
1
,
remain
,
in_file
);
if
(
rlen
<=
0
)
{
return
writeLen
;
}
else
{
}
else
{
fwrite
(
buffer
,
1
,
remain
,
out_file
);
writeLen
+=
remain
;
}
...
...
@@ -54,7 +51,7 @@ int taosFSendFileImp(FILE* out_file, FILE* in_file, int64_t* offset, int32_t cou
return
writeLen
;
}
ssize_t
taosTSendFileImp
(
int
dfd
,
int
sfd
,
off_t
*
offset
,
size
_t
size
)
{
uError
(
"not implemented yet"
);
int64_t
taosSendFile
(
int32_t
dfd
,
int32_t
sfd
,
int64_t
*
offset
,
int64
_t
size
)
{
uError
(
"
taosSendFile
not implemented yet"
);
return
-
1
;
}
\ No newline at end of file
src/os/src/detail/osFail.c
已删除
100644 → 0
浏览文件 @
b8e60b79
/*
* 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/>.
*/
#define _DEFAULT_SOURCE
#include "os.h"
#define RANDOM_NETWORK_FAIL_FACTOR 20
#ifdef TAOS_RANDOM_NETWORK_FAIL
ssize_t
taosSendRandomFail
(
int
sockfd
,
const
void
*
buf
,
size_t
len
,
int
flags
)
{
if
(
rand
()
%
RANDOM_NETWORK_FAIL_FACTOR
==
0
)
{
errno
=
ECONNRESET
;
return
-
1
;
}
return
send
(
sockfd
,
buf
,
len
,
flags
);
}
ssize_t
taosSendToRandomFail
(
int
sockfd
,
const
void
*
buf
,
size_t
len
,
int
flags
,
const
struct
sockaddr
*
dest_addr
,
socklen_t
addrlen
)
{
if
(
rand
()
%
RANDOM_NETWORK_FAIL_FACTOR
==
0
)
{
errno
=
ECONNRESET
;
return
-
1
;
}
return
sendto
(
sockfd
,
buf
,
len
,
flags
,
dest_addr
,
addrlen
);
}
ssize_t
taosReadSocketRandomFail
(
int
fd
,
void
*
buf
,
size_t
count
)
{
if
(
rand
()
%
RANDOM_NETWORK_FAIL_FACTOR
==
0
)
{
errno
=
ECONNRESET
;
return
-
1
;
}
return
read
(
fd
,
buf
,
count
);
}
ssize_t
taosWriteSocketRandomFail
(
int
fd
,
const
void
*
buf
,
size_t
count
)
{
if
(
rand
()
%
RANDOM_NETWORK_FAIL_FACTOR
==
0
)
{
errno
=
EINTR
;
return
-
1
;
}
return
write
(
fd
,
buf
,
count
);
}
#endif //TAOS_RANDOM_NETWORK_FAIL
#ifdef TAOS_RANDOM_FILE_FAIL
static
int
random_file_fail_factor
=
20
;
static
FILE
*
fpRandomFileFailOutput
=
NULL
;
void
taosSetRandomFileFailFactor
(
int
factor
)
{
random_file_fail_factor
=
factor
;
}
static
void
close_random_file_fail_output
()
{
if
(
fpRandomFileFailOutput
!=
NULL
)
{
if
(
fpRandomFileFailOutput
!=
stdout
)
{
fclose
(
fpRandomFileFailOutput
);
}
fpRandomFileFailOutput
=
NULL
;
}
}
static
void
random_file_fail_output_sig
(
int
sig
)
{
fprintf
(
fpRandomFileFailOutput
,
"signal %d received.
\n
"
,
sig
);
struct
sigaction
act
=
{
0
};
act
.
sa_handler
=
SIG_DFL
;
sigaction
(
sig
,
&
act
,
NULL
);
close_random_file_fail_output
();
exit
(
EXIT_FAILURE
);
}
void
taosSetRandomFileFailOutput
(
const
char
*
path
)
{
if
(
path
==
NULL
)
{
fpRandomFileFailOutput
=
stdout
;
}
else
if
((
fpRandomFileFailOutput
=
fopen
(
path
,
"w"
))
!=
NULL
)
{
atexit
(
close_random_file_fail_output
);
}
else
{
printf
(
"failed to open random file fail log file '%s', errno=%d
\n
"
,
path
,
errno
);
return
;
}
struct
sigaction
act
=
{
0
};
act
.
sa_handler
=
random_file_fail_output_sig
;
sigaction
(
SIGFPE
,
&
act
,
NULL
);
sigaction
(
SIGSEGV
,
&
act
,
NULL
);
sigaction
(
SIGILL
,
&
act
,
NULL
);
}
ssize_t
taosReadFileRandomFail
(
int
fd
,
void
*
buf
,
size_t
count
,
const
char
*
file
,
uint32_t
line
)
{
if
(
random_file_fail_factor
>
0
)
{
if
(
rand
()
%
random_file_fail_factor
==
0
)
{
errno
=
EIO
;
return
-
1
;
}
}
return
taosTReadImp
(
fd
,
buf
,
count
);
}
ssize_t
taosWriteFileRandomFail
(
int
fd
,
void
*
buf
,
size_t
count
,
const
char
*
file
,
uint32_t
line
)
{
if
(
random_file_fail_factor
>
0
)
{
if
(
rand
()
%
random_file_fail_factor
==
0
)
{
errno
=
EIO
;
return
-
1
;
}
}
return
taosTWriteImp
(
fd
,
buf
,
count
);
}
off_t
taosLSeekRandomFail
(
int
fd
,
off_t
offset
,
int
whence
,
const
char
*
file
,
uint32_t
line
)
{
if
(
random_file_fail_factor
>
0
)
{
if
(
rand
()
%
random_file_fail_factor
==
0
)
{
errno
=
EIO
;
return
-
1
;
}
}
return
lseek
(
fd
,
offset
,
whence
);
}
#endif //TAOS_RANDOM_FILE_FAIL
src/os/src/detail/osFile.c
浏览文件 @
a82ac7de
...
...
@@ -17,6 +17,7 @@
#include "os.h"
#ifndef TAOS_OS_FUNC_FILE_GETTMPFILEPATH
void
taosGetTmpfilePath
(
const
char
*
fileNamePrefix
,
char
*
dstPath
)
{
const
char
*
tdengineTmpFileNamePrefix
=
"tdengine-"
;
...
...
@@ -34,10 +35,10 @@ void taosGetTmpfilePath(const char *fileNamePrefix, char *dstPath) {
taosRandStr
(
rand
,
tListLen
(
rand
)
-
1
);
snprintf
(
dstPath
,
PATH_MAX
,
tmpPath
,
getpid
(),
rand
);
}
#endif
// rename file name
int32_t
taosFileRename
(
char
*
fullPath
,
char
*
suffix
,
char
delimiter
,
char
**
dstPath
)
{
int32_t
taosRenameFile
(
char
*
fullPath
,
char
*
suffix
,
char
delimiter
,
char
**
dstPath
)
{
int32_t
ts
=
taosGetTimestampSec
();
char
fname
[
PATH_MAX
]
=
{
0
};
// max file name length must be less than 255
...
...
@@ -46,12 +47,13 @@ int32_t taosFileRename(char *fullPath, char *suffix, char delimiter, char **dstP
if
(
delimiterPos
==
NULL
)
return
-
1
;
int32_t
fileNameLen
=
0
;
if
(
suffix
)
if
(
suffix
)
{
fileNameLen
=
snprintf
(
fname
,
PATH_MAX
,
"%s.%d.%s"
,
delimiterPos
+
1
,
ts
,
suffix
);
else
}
else
{
fileNameLen
=
snprintf
(
fname
,
PATH_MAX
,
"%s.%d"
,
delimiterPos
+
1
,
ts
);
}
size_t
len
=
(
size
_t
)((
delimiterPos
-
fullPath
)
+
fileNameLen
+
1
);
int32_t
len
=
(
int32
_t
)((
delimiterPos
-
fullPath
)
+
fileNameLen
+
1
);
if
(
*
dstPath
==
NULL
)
{
*
dstPath
=
calloc
(
1
,
len
+
1
);
if
(
*
dstPath
==
NULL
)
return
-
1
;
...
...
@@ -64,9 +66,9 @@ int32_t taosFileRename(char *fullPath, char *suffix, char delimiter, char **dstP
return
rename
(
fullPath
,
*
dstPath
);
}
ssize_t
taosTReadImp
(
int
fd
,
void
*
buf
,
size
_t
count
)
{
size_t
leftbytes
=
count
;
ssize
_t
readbytes
;
int64_t
taosRead
(
int32_t
fd
,
void
*
buf
,
int64
_t
count
)
{
int64_t
leftbytes
=
count
;
int64
_t
readbytes
;
char
*
tbuf
=
(
char
*
)
buf
;
while
(
leftbytes
>
0
)
{
...
...
@@ -78,19 +80,19 @@ ssize_t taosTReadImp(int fd, void *buf, size_t count) {
return
-
1
;
}
}
else
if
(
readbytes
==
0
)
{
return
(
ssize
_t
)(
count
-
leftbytes
);
return
(
int64
_t
)(
count
-
leftbytes
);
}
leftbytes
-=
readbytes
;
tbuf
+=
readbytes
;
}
return
(
ssize_t
)
count
;
return
count
;
}
ssize_t
taosTWriteImp
(
int
fd
,
void
*
buf
,
size
_t
n
)
{
size_t
nleft
=
n
;
ssize
_t
nwritten
=
0
;
int64_t
taosWrite
(
int32_t
fd
,
void
*
buf
,
int64
_t
n
)
{
int64_t
nleft
=
n
;
int64
_t
nwritten
=
0
;
char
*
tbuf
=
(
char
*
)
buf
;
while
(
nleft
>
0
)
{
...
...
@@ -105,13 +107,14 @@ ssize_t taosTWriteImp(int fd, void *buf, size_t n) {
tbuf
+=
nwritten
;
}
return
(
ssize_t
)
n
;
return
n
;
}
#ifndef TAOS_OS_FUNC_FILE_SENDIFLE
ssize_t
taosTSendFileImp
(
int
dfd
,
int
sfd
,
off_t
*
offset
,
size_t
size
)
{
size_t
leftbytes
=
size
;
ssize_t
sentbytes
;
int64_t
taosSendFile
(
int32_t
dfd
,
int32_t
sfd
,
int64_t
*
offset
,
int64_t
size
)
{
int64_t
leftbytes
=
size
;
int64_t
sentbytes
;
while
(
leftbytes
>
0
)
{
/*
...
...
@@ -126,7 +129,7 @@ ssize_t taosTSendFileImp(int dfd, int sfd, off_t *offset, size_t size) {
return
-
1
;
}
}
else
if
(
sentbytes
==
0
)
{
return
(
ssize
_t
)(
size
-
leftbytes
);
return
(
int64
_t
)(
size
-
leftbytes
);
}
leftbytes
-=
sentbytes
;
...
...
@@ -134,4 +137,17 @@ ssize_t taosTSendFileImp(int dfd, int sfd, off_t *offset, size_t size) {
return
size
;
}
int64_t
taosFSendFile
(
FILE
*
outfile
,
FILE
*
infile
,
int64_t
*
offset
,
int64_t
size
)
{
return
taosSendFile
(
fileno
(
outfile
),
fileno
(
infile
),
offset
,
size
);
}
#endif
#ifndef TAOS_OS_FUNC_FILE_FTRUNCATE
int32_t
taosFtruncate
(
int32_t
fd
,
int64_t
length
)
{
return
ftruncate
(
fd
,
length
);
}
#endif
\ No newline at end of file
src/os/src/windows/wFile.c
浏览文件 @
a82ac7de
...
...
@@ -75,12 +75,12 @@ int taosFSendFileImp(FILE* out_file, FILE* in_file, int64_t* offset, int32_t cou
return
writeLen
;
}
ssize_t
taosTSendFileImp
(
int
dfd
,
int
sfd
,
off_t
*
offset
,
size
_t
size
)
{
uError
(
"taos
TSendFileImp
no implemented yet"
);
int64_t
taosSendFile
(
int32_t
dfd
,
int32_t
sfd
,
int64_t
*
offset
,
int64
_t
size
)
{
uError
(
"taos
SendFile
no implemented yet"
);
return
0
;
}
int
taosFtruncate
(
in
t
fd
,
int64_t
length
)
{
int
32_t
taosFtruncate
(
int32_
t
fd
,
int64_t
length
)
{
uError
(
"taosFtruncate no implemented yet"
);
return
0
;
}
\ No newline at end of file
src/sync/src/syncRetrieve.c
浏览文件 @
a82ac7de
...
...
@@ -149,7 +149,7 @@ static int syncRetrieveFile(SSyncPeer *pPeer) {
int
sfd
=
open
(
name
,
O_RDONLY
);
if
(
sfd
<
0
)
break
;
ret
=
taos
T
SendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
fileInfo
.
size
);
ret
=
taosSendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
fileInfo
.
size
);
close
(
sfd
);
if
(
ret
<
0
)
break
;
...
...
@@ -406,7 +406,7 @@ static int syncRetrieveWal(SSyncPeer *pPeer) {
int
sfd
=
open
(
fname
,
O_RDONLY
);
if
(
sfd
<
0
)
break
;
code
=
taos
T
SendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
size
);
code
=
taosSendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
size
);
close
(
sfd
);
if
(
code
<
0
)
break
;
...
...
src/tsdb/src/tsdbFile.c
浏览文件 @
a82ac7de
...
...
@@ -428,7 +428,7 @@ int tsdbUpdateFileHeader(SFile *pFile) {
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
if
(
taos
T
Write
(
pFile
->
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
if
(
taosWrite
(
pFile
->
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
tsdbError
(
"failed to write %d bytes to file %s since %s"
,
TSDB_FILE_HEAD_SIZE
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
...
...
@@ -493,7 +493,7 @@ int tsdbLoadFileHeader(SFile *pFile, uint32_t *version) {
return
-
1
;
}
if
(
taos
T
Read
(
pFile
->
fd
,
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
if
(
taosRead
(
pFile
->
fd
,
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
tsdbError
(
"failed to read file %s header part with %d bytes, reason:%s"
,
pFile
->
fname
,
TSDB_FILE_HEAD_SIZE
,
strerror
(
errno
));
terrno
=
TSDB_CODE_TDB_FILE_CORRUPTED
;
...
...
src/tsdb/src/tsdbMain.c
浏览文件 @
a82ac7de
...
...
@@ -579,7 +579,7 @@ static int32_t tsdbSaveConfig(char *rootDir, STsdbCfg *pCfg) {
taosCalcChecksumAppend
(
0
,
(
uint8_t
*
)
buf
,
TSDB_FILE_HEAD_SIZE
);
if
(
taos
T
Write
(
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
if
(
taosWrite
(
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
tsdbError
(
"vgId:%d failed to write %d bytes to file %s since %s"
,
pCfg
->
tsdbId
,
TSDB_FILE_HEAD_SIZE
,
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -620,7 +620,7 @@ static int tsdbLoadConfig(char *rootDir, STsdbCfg *pCfg) {
goto
_err
;
}
if
(
taos
T
Read
(
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
if
(
taosRead
(
fd
,
(
void
*
)
buf
,
TSDB_FILE_HEAD_SIZE
)
<
TSDB_FILE_HEAD_SIZE
)
{
tsdbError
(
"failed to read %d bytes from file %s since %s"
,
TSDB_FILE_HEAD_SIZE
,
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
...
...
src/tsdb/src/tsdbRWHelper.c
浏览文件 @
a82ac7de
...
...
@@ -335,7 +335,7 @@ int tsdbMoveLastBlockIfNeccessary(SRWHelper *pHelper) {
return -1;
}
if (taos
T
SendFile(helperNewLastF(pHelper)->fd, helperLastF(pHelper)->fd, NULL, pCompBlock->len) < pCompBlock->len) {
if (taosSendFile(helperNewLastF(pHelper)->fd, helperLastF(pHelper)->fd, NULL, pCompBlock->len) < pCompBlock->len) {
tsdbError("vgId:%d failed to sendfile from file %s to file %s since %s", REPO_ID(pHelper->pRepo),
helperLastF(pHelper)->fname, helperNewLastF(pHelper)->fname, strerror(errno));
terrno = TAOS_SYSTEM_ERROR(errno);
...
...
@@ -380,7 +380,7 @@ int tsdbWriteCompInfo(SRWHelper *pHelper) {
pIdx
->
tid
=
pHelper
->
tableInfo
.
tid
;
ASSERT
(
pIdx
->
offset
>=
TSDB_FILE_HEAD_SIZE
);
if
(
taos
T
Write
(
pFile
->
fd
,
(
void
*
)(
pHelper
->
pCompInfo
),
pIdx
->
len
)
<
(
int
)
pIdx
->
len
)
{
if
(
taosWrite
(
pFile
->
fd
,
(
void
*
)(
pHelper
->
pCompInfo
),
pIdx
->
len
)
<
(
int
)
pIdx
->
len
)
{
tsdbError
(
"vgId:%d failed to write %d bytes to file %s since %s"
,
REPO_ID
(
pHelper
->
pRepo
),
pIdx
->
len
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -432,7 +432,7 @@ int tsdbWriteCompIdx(SRWHelper *pHelper) {
ASSERT
(
offset
==
pFile
->
info
.
size
);
if
(
taos
T
Write
(
pFile
->
fd
,
(
void
*
)
pHelper
->
pWIdx
,
pFile
->
info
.
len
)
<
(
int
)
pFile
->
info
.
len
)
{
if
(
taosWrite
(
pFile
->
fd
,
(
void
*
)
pHelper
->
pWIdx
,
pFile
->
info
.
len
)
<
(
int
)
pFile
->
info
.
len
)
{
tsdbError
(
"vgId:%d failed to write %d bytes to file %s since %s"
,
REPO_ID
(
pHelper
->
pRepo
),
pFile
->
info
.
len
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -454,7 +454,7 @@ int tsdbLoadCompIdxImpl(SFile *pFile, uint32_t offset, uint32_t len, void *buffe
return
-
1
;
}
if
(
taos
T
Read
(
pFile
->
fd
,
buffer
,
len
)
<
len
)
{
if
(
taosRead
(
pFile
->
fd
,
buffer
,
len
)
<
len
)
{
tsdbError
(
"%s: read file %s offset %u len %u failed since %s"
,
prefixMsg
,
pFile
->
fname
,
offset
,
len
,
strerror
(
errno
));
terrno
=
TSDB_CODE_TDB_FILE_CORRUPTED
;
...
...
@@ -551,7 +551,7 @@ int tsdbLoadCompInfoImpl(SFile *pFile, SCompIdx *pIdx, SCompInfo **ppCompInfo) {
return
-
1
;
}
if
(
taos
T
Read
(
pFile
->
fd
,
(
void
*
)(
*
ppCompInfo
),
pIdx
->
len
)
<
(
int
)
pIdx
->
len
)
{
if
(
taosRead
(
pFile
->
fd
,
(
void
*
)(
*
ppCompInfo
),
pIdx
->
len
)
<
(
int
)
pIdx
->
len
)
{
tsdbError
(
"%s: read file %s offset %u len %u failed since %s"
,
prefixMsg
,
pFile
->
fname
,
pIdx
->
offset
,
pIdx
->
len
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -608,7 +608,7 @@ int tsdbLoadCompData(SRWHelper *pHelper, SCompBlock *pCompBlock, void *target) {
return
-
1
;
}
if
(
taos
T
Read
(
pFile
->
fd
,
(
void
*
)
pHelper
->
pCompData
,
tsize
)
<
tsize
)
{
if
(
taosRead
(
pFile
->
fd
,
(
void
*
)
pHelper
->
pCompData
,
tsize
)
<
tsize
)
{
tsdbError
(
"vgId:%d failed to read %"
PRIzu
" bytes from file %s since %s"
,
REPO_ID
(
pHelper
->
pRepo
),
tsize
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -823,7 +823,7 @@ static int tsdbWriteBlockToFile(SRWHelper *pHelper, SFile *pFile, SDataCols *pDa
sizeof
(
TSCKSUM
));
// Write the whole block to file
if
(
taos
T
Write
(
pFile
->
fd
,
(
void
*
)
pCompData
,
lsize
)
<
lsize
)
{
if
(
taosWrite
(
pFile
->
fd
,
(
void
*
)
pCompData
,
lsize
)
<
lsize
)
{
tsdbError
(
"vgId:%d failed to write %d bytes to file %s since %s"
,
REPO_ID
(
helperRepo
(
pHelper
)),
lsize
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -1210,7 +1210,7 @@ static int tsdbLoadColData(SRWHelper *pHelper, SFile *pFile, SCompBlock *pCompBl
return
-
1
;
}
if
(
taos
T
Read
(
pFile
->
fd
,
pHelper
->
pBuffer
,
pCompCol
->
len
)
<
pCompCol
->
len
)
{
if
(
taosRead
(
pFile
->
fd
,
pHelper
->
pBuffer
,
pCompCol
->
len
)
<
pCompCol
->
len
)
{
tsdbError
(
"vgId:%d failed to read %d bytes from file %s since %s"
,
REPO_ID
(
pHelper
->
pRepo
),
pCompCol
->
len
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -1325,7 +1325,7 @@ static int tsdbLoadBlockDataImpl(SRWHelper *pHelper, SCompBlock *pCompBlock, SDa
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
}
if
(
taos
T
Read
(
fd
,
(
void
*
)
pCompData
,
pCompBlock
->
len
)
<
pCompBlock
->
len
)
{
if
(
taosRead
(
fd
,
(
void
*
)
pCompData
,
pCompBlock
->
len
)
<
pCompBlock
->
len
)
{
tsdbError
(
"vgId:%d failed to read %d bytes from file %s since %s"
,
REPO_ID
(
pHelper
->
pRepo
),
pCompBlock
->
len
,
pFile
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
src/util/src/tkvstore.c
浏览文件 @
a82ac7de
...
...
@@ -188,7 +188,7 @@ int tdKVStoreStartCommit(SKVStore *pStore) {
goto
_err
;
}
if
(
taos
T
SendFile
(
pStore
->
sfd
,
pStore
->
fd
,
NULL
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
if
(
taosSendFile
(
pStore
->
sfd
,
pStore
->
fd
,
NULL
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
uError
(
"failed to send file %d bytes since %s"
,
TD_KVSTORE_HEADER_SIZE
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
...
...
@@ -248,13 +248,13 @@ int tdUpdateKVStoreRecord(SKVStore *pStore, uint64_t uid, void *cont, int contLe
ASSERT
(
tlen
==
POINTER_DISTANCE
(
pBuf
,
buf
));
ASSERT
(
tlen
==
sizeof
(
SKVRecord
));
if
(
taos
T
Write
(
pStore
->
fd
,
buf
,
tlen
)
<
tlen
)
{
if
(
taosWrite
(
pStore
->
fd
,
buf
,
tlen
)
<
tlen
)
{
uError
(
"failed to write %d bytes to file %s since %s"
,
tlen
,
pStore
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
if
(
taos
T
Write
(
pStore
->
fd
,
cont
,
contLen
)
<
contLen
)
{
if
(
taosWrite
(
pStore
->
fd
,
cont
,
contLen
)
<
contLen
)
{
uError
(
"failed to write %d bytes to file %s since %s"
,
contLen
,
pStore
->
fname
,
strerror
(
errno
));
return
-
1
;
}
...
...
@@ -292,7 +292,7 @@ int tdDropKVStoreRecord(SKVStore *pStore, uint64_t uid) {
void
*
pBuf
=
buf
;
tdEncodeKVRecord
(
&
pBuf
,
&
rInfo
);
if
(
taos
T
Write
(
pStore
->
fd
,
buf
,
POINTER_DISTANCE
(
pBuf
,
buf
))
<
POINTER_DISTANCE
(
pBuf
,
buf
))
{
if
(
taosWrite
(
pStore
->
fd
,
buf
,
POINTER_DISTANCE
(
pBuf
,
buf
))
<
POINTER_DISTANCE
(
pBuf
,
buf
))
{
uError
(
"failed to write %"
PRId64
" bytes to file %s since %s"
,
(
int64_t
)(
POINTER_DISTANCE
(
pBuf
,
buf
)),
pStore
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
...
...
@@ -339,7 +339,7 @@ void tsdbGetStoreInfo(char *fname, uint32_t *magic, int64_t *size) {
int
fd
=
open
(
fname
,
O_RDONLY
);
if
(
fd
<
0
)
goto
_err
;
if
(
taos
T
Read
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
goto
_err
;
if
(
taosRead
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
goto
_err
;
if
(
!
taosCheckChecksumWhole
((
uint8_t
*
)
buf
,
TD_KVSTORE_HEADER_SIZE
))
goto
_err
;
void
*
pBuf
=
(
void
*
)
buf
;
...
...
@@ -368,7 +368,7 @@ static int tdLoadKVStoreHeader(int fd, char *fname, SStoreInfo *pInfo, uint32_t
return
-
1
;
}
if
(
taos
T
Read
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
if
(
taosRead
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
uError
(
"failed to read %d bytes from file %s since %s"
,
TD_KVSTORE_HEADER_SIZE
,
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
...
...
@@ -402,7 +402,7 @@ static int tdUpdateKVStoreHeader(int fd, char *fname, SStoreInfo *pInfo) {
ASSERT
(
POINTER_DISTANCE
(
pBuf
,
buf
)
+
sizeof
(
TSCKSUM
)
<=
TD_KVSTORE_HEADER_SIZE
);
taosCalcChecksumAppend
(
0
,
(
uint8_t
*
)
buf
,
TD_KVSTORE_HEADER_SIZE
);
if
(
taos
T
Write
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
if
(
taosWrite
(
fd
,
buf
,
TD_KVSTORE_HEADER_SIZE
)
<
TD_KVSTORE_HEADER_SIZE
)
{
uError
(
"failed to write %d bytes to file %s since %s"
,
TD_KVSTORE_HEADER_SIZE
,
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
...
...
@@ -535,7 +535,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
ASSERT
(
pStore
->
info
.
size
==
TD_KVSTORE_HEADER_SIZE
);
while
(
true
)
{
ssize_t
tsize
=
taos
T
Read
(
pStore
->
fd
,
tbuf
,
sizeof
(
SKVRecord
));
ssize_t
tsize
=
taosRead
(
pStore
->
fd
,
tbuf
,
sizeof
(
SKVRecord
));
if
(
tsize
==
0
)
break
;
if
(
tsize
<
sizeof
(
SKVRecord
))
{
uError
(
"failed to read %"
PRIzu
" bytes from file %s at offset %"
PRId64
"since %s"
,
sizeof
(
SKVRecord
),
pStore
->
fname
,
...
...
@@ -598,7 +598,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
goto
_err
;
}
if
(
taos
T
Read
(
pStore
->
fd
,
buf
,
(
size_t
)
pRecord
->
size
)
<
pRecord
->
size
)
{
if
(
taosRead
(
pStore
->
fd
,
buf
,
(
size_t
)
pRecord
->
size
)
<
pRecord
->
size
)
{
uError
(
"failed to read %"
PRId64
" bytes from file %s since %s, offset %"
PRId64
,
pRecord
->
size
,
pStore
->
fname
,
strerror
(
errno
),
pRecord
->
offset
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
src/util/src/tlog.c
浏览文件 @
a82ac7de
...
...
@@ -336,11 +336,11 @@ static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
lseek
(
tsLogObj
.
logHandle
->
fd
,
0
,
SEEK_END
);
sprintf
(
name
,
"==================================================
\n
"
);
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
sprintf
(
name
,
" new log file
\n
"
);
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
sprintf
(
name
,
"==================================================
\n
"
);
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
name
,
(
uint32_t
)
strlen
(
name
));
return
0
;
}
...
...
@@ -390,7 +390,7 @@ void taosPrintLog(const char *flags, int32_t dflag, const char *format, ...) {
if
(
tsAsyncLog
)
{
taosPushLogBuffer
(
tsLogObj
.
logHandle
,
buffer
,
len
);
}
else
{
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
buffer
,
len
);
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
buffer
,
len
);
}
if
(
tsLogObj
.
maxLines
>
0
)
{
...
...
@@ -400,7 +400,7 @@ void taosPrintLog(const char *flags, int32_t dflag, const char *format, ...) {
}
}
if
(
dflag
&
DEBUG_SCREEN
)
taos
T
Write
(
1
,
buffer
,
(
uint32_t
)
len
);
if
(
dflag
&
DEBUG_SCREEN
)
taosWrite
(
1
,
buffer
,
(
uint32_t
)
len
);
}
void
taosDumpData
(
unsigned
char
*
msg
,
int32_t
len
)
{
...
...
@@ -419,7 +419,7 @@ void taosDumpData(unsigned char *msg, int32_t len) {
pos
+=
3
;
if
(
c
>=
16
)
{
temp
[
pos
++
]
=
'\n'
;
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
temp
,
(
uint32_t
)
pos
);
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
temp
,
(
uint32_t
)
pos
);
c
=
0
;
pos
=
0
;
}
...
...
@@ -427,9 +427,7 @@ void taosDumpData(unsigned char *msg, int32_t len) {
temp
[
pos
++
]
=
'\n'
;
taosTWrite
(
tsLogObj
.
logHandle
->
fd
,
temp
,
(
uint32_t
)
pos
);
return
;
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
temp
,
(
uint32_t
)
pos
);
}
void
taosPrintLongString
(
const
char
*
flags
,
int32_t
dflag
,
const
char
*
format
,
...)
{
...
...
@@ -467,7 +465,7 @@ void taosPrintLongString(const char *flags, int32_t dflag, const char *format, .
if
(
tsAsyncLog
)
{
taosPushLogBuffer
(
tsLogObj
.
logHandle
,
buffer
,
len
);
}
else
{
taos
T
Write
(
tsLogObj
.
logHandle
->
fd
,
buffer
,
len
);
taosWrite
(
tsLogObj
.
logHandle
->
fd
,
buffer
,
len
);
}
if
(
tsLogObj
.
maxLines
>
0
)
{
...
...
@@ -477,7 +475,7 @@ void taosPrintLongString(const char *flags, int32_t dflag, const char *format, .
}
}
if
(
dflag
&
DEBUG_SCREEN
)
taos
T
Write
(
1
,
buffer
,
(
uint32_t
)
len
);
if
(
dflag
&
DEBUG_SCREEN
)
taosWrite
(
1
,
buffer
,
(
uint32_t
)
len
);
}
#if 0
...
...
@@ -606,7 +604,7 @@ static void *taosAsyncOutputLog(void *param) {
while
(
1
)
{
log_size
=
taosPollLogBuffer
(
tLogBuff
,
tempBuffer
,
TSDB_DEFAULT_LOG_BUF_UNIT
);
if
(
log_size
)
{
taos
T
Write
(
tLogBuff
->
fd
,
tempBuffer
,
log_size
);
taosWrite
(
tLogBuff
->
fd
,
tempBuffer
,
log_size
);
LOG_BUF_START
(
tLogBuff
)
=
(
LOG_BUF_START
(
tLogBuff
)
+
log_size
)
%
LOG_BUF_SIZE
(
tLogBuff
);
}
else
{
break
;
...
...
src/util/src/tnote.c
浏览文件 @
a82ac7de
...
...
@@ -265,7 +265,7 @@ void taosNotePrint(taosNoteInfo * pNote, const char * const format, ...)
buffer
[
len
]
=
0
;
if
(
pNote
->
taosNoteFd
>=
0
)
{
taos
T
Write
(
pNote
->
taosNoteFd
,
buffer
,
(
unsigned
int
)
len
);
taosWrite
(
pNote
->
taosNoteFd
,
buffer
,
(
unsigned
int
)
len
);
if
(
pNote
->
taosNoteMaxLines
>
0
)
{
pNote
->
taosNoteLines
++
;
...
...
src/wal/src/walWrite.c
浏览文件 @
a82ac7de
...
...
@@ -95,7 +95,7 @@ int32_t walWrite(void *handle, SWalHead *pHead) {
pthread_mutex_lock
(
&
pWal
->
mutex
);
if
(
taos
T
Write
(
pWal
->
fd
,
pHead
,
contLen
)
!=
contLen
)
{
if
(
taosWrite
(
pWal
->
fd
,
pHead
,
contLen
)
!=
contLen
)
{
code
=
TAOS_SYSTEM_ERROR
(
errno
);
wError
(
"vgId:%d, file:%s, failed to write since %s"
,
pWal
->
vgId
,
pWal
->
name
,
strerror
(
errno
));
}
else
{
...
...
@@ -209,7 +209,7 @@ static int32_t walSkipCorruptedRecord(SWal *pWal, SWalHead *pHead, int32_t fd, i
return
TSDB_CODE_WAL_FILE_CORRUPTED
;
}
if
(
taos
T
Read
(
fd
,
pHead
,
sizeof
(
SWalHead
))
<=
0
)
{
if
(
taosRead
(
fd
,
pHead
,
sizeof
(
SWalHead
))
<=
0
)
{
wError
(
"vgId:%d, read to end of corrupted wal file, offset:%"
PRId64
,
pWal
->
vgId
,
pos
);
return
TSDB_CODE_WAL_FILE_CORRUPTED
;
}
...
...
@@ -250,7 +250,7 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch
SWalHead
*
pHead
=
buffer
;
while
(
1
)
{
int32_t
ret
=
taos
T
Read
(
fd
,
pHead
,
sizeof
(
SWalHead
));
int32_t
ret
=
taosRead
(
fd
,
pHead
,
sizeof
(
SWalHead
));
if
(
ret
==
0
)
break
;
if
(
ret
<
0
)
{
...
...
@@ -287,7 +287,7 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch
pHead
=
buffer
;
}
ret
=
taos
T
Read
(
fd
,
pHead
->
cont
,
pHead
->
len
);
ret
=
taosRead
(
fd
,
pHead
->
cont
,
pHead
->
len
);
if
(
ret
<
0
)
{
wError
(
"vgId:%d, file:%s, failed to read wal body since %s"
,
pWal
->
vgId
,
name
,
strerror
(
errno
));
code
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录