Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
35b0c693
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
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看板
提交
35b0c693
编写于
11月 29, 2021
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-10431 rename some funcs
上级
e63637fc
变更
34
隐藏空白更改
内联
并排
Showing
34 changed file
with
71 addition
and
71 deletion
+71
-71
source/dnode/mnode/impl/inc/mndAcct.h
source/dnode/mnode/impl/inc/mndAcct.h
+2
-2
source/dnode/mnode/impl/inc/mndAuth.h
source/dnode/mnode/impl/inc/mndAuth.h
+2
-2
source/dnode/mnode/impl/inc/mndBalance.h
source/dnode/mnode/impl/inc/mndBalance.h
+2
-2
source/dnode/mnode/impl/inc/mndCluster.h
source/dnode/mnode/impl/inc/mndCluster.h
+2
-2
source/dnode/mnode/impl/inc/mndDb.h
source/dnode/mnode/impl/inc/mndDb.h
+2
-2
source/dnode/mnode/impl/inc/mndDnode.h
source/dnode/mnode/impl/inc/mndDnode.h
+2
-2
source/dnode/mnode/impl/inc/mndFunc.h
source/dnode/mnode/impl/inc/mndFunc.h
+2
-2
source/dnode/mnode/impl/inc/mndMnode.h
source/dnode/mnode/impl/inc/mndMnode.h
+2
-2
source/dnode/mnode/impl/inc/mndOper.h
source/dnode/mnode/impl/inc/mndOper.h
+2
-2
source/dnode/mnode/impl/inc/mndProfile.h
source/dnode/mnode/impl/inc/mndProfile.h
+2
-2
source/dnode/mnode/impl/inc/mndShow.h
source/dnode/mnode/impl/inc/mndShow.h
+2
-2
source/dnode/mnode/impl/inc/mndStable.h
source/dnode/mnode/impl/inc/mndStable.h
+2
-2
source/dnode/mnode/impl/inc/mndSync.h
source/dnode/mnode/impl/inc/mndSync.h
+3
-3
source/dnode/mnode/impl/inc/mndTelem.h
source/dnode/mnode/impl/inc/mndTelem.h
+2
-2
source/dnode/mnode/impl/inc/mndTrans.h
source/dnode/mnode/impl/inc/mndTrans.h
+2
-2
source/dnode/mnode/impl/inc/mndUser.h
source/dnode/mnode/impl/inc/mndUser.h
+2
-2
source/dnode/mnode/impl/inc/mndVgroup.h
source/dnode/mnode/impl/inc/mndVgroup.h
+2
-2
source/dnode/mnode/impl/src/mndAcct.c
source/dnode/mnode/impl/src/mndAcct.c
+2
-2
source/dnode/mnode/impl/src/mndAuth.c
source/dnode/mnode/impl/src/mndAuth.c
+2
-2
source/dnode/mnode/impl/src/mndBalance.c
source/dnode/mnode/impl/src/mndBalance.c
+2
-2
source/dnode/mnode/impl/src/mndCluster.c
source/dnode/mnode/impl/src/mndCluster.c
+2
-2
source/dnode/mnode/impl/src/mndDb.c
source/dnode/mnode/impl/src/mndDb.c
+2
-2
source/dnode/mnode/impl/src/mndDnode.c
source/dnode/mnode/impl/src/mndDnode.c
+2
-2
source/dnode/mnode/impl/src/mndFunc.c
source/dnode/mnode/impl/src/mndFunc.c
+2
-2
source/dnode/mnode/impl/src/mndMnode.c
source/dnode/mnode/impl/src/mndMnode.c
+2
-2
source/dnode/mnode/impl/src/mndOper.c
source/dnode/mnode/impl/src/mndOper.c
+2
-2
source/dnode/mnode/impl/src/mndProfile.c
source/dnode/mnode/impl/src/mndProfile.c
+2
-2
source/dnode/mnode/impl/src/mndShow.c
source/dnode/mnode/impl/src/mndShow.c
+2
-2
source/dnode/mnode/impl/src/mndStable.c
source/dnode/mnode/impl/src/mndStable.c
+2
-2
source/dnode/mnode/impl/src/mndSync.c
source/dnode/mnode/impl/src/mndSync.c
+2
-2
source/dnode/mnode/impl/src/mndTelem.c
source/dnode/mnode/impl/src/mndTelem.c
+3
-3
source/dnode/mnode/impl/src/mndTrans.c
source/dnode/mnode/impl/src/mndTrans.c
+2
-2
source/dnode/mnode/impl/src/mndUser.c
source/dnode/mnode/impl/src/mndUser.c
+3
-3
source/dnode/mnode/impl/src/mndVgroup.c
source/dnode/mnode/impl/src/mndVgroup.c
+2
-2
未找到文件。
source/dnode/mnode/impl/inc/mndAcct.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitAcct
();
void
mndCleanupAcct
();
int32_t
mndInitAcct
(
SMnode
*
pMnode
);
void
mndCleanupAcct
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndAuth.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitAuth
();
void
mndCleanupAuth
();
int32_t
mndInitAuth
(
SMnode
*
pMnode
);
void
mndCleanupAuth
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndBalance.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitBalance
();
void
mndCleanupBalance
();
int32_t
mndInitBalance
(
SMnode
*
pMnode
);
void
mndCleanupBalance
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndCluster.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitCluster
();
void
mndCleanupCluster
();
int32_t
mndInitCluster
(
SMnode
*
pMnode
);
void
mndCleanupCluster
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndDb.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitDb
();
void
mndCleanupDb
();
int32_t
mndInitDb
(
SMnode
*
pMnode
);
void
mndCleanupDb
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndDnode.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitDnode
();
void
mndCleanupDnode
();
int32_t
mndInitDnode
(
SMnode
*
pMnode
);
void
mndCleanupDnode
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndFunc.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitFunc
();
void
mndCleanupFunc
();
int32_t
mndInitFunc
(
SMnode
*
pMnode
);
void
mndCleanupFunc
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndMnode.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitMnode
();
void
mndCleanupMnode
();
int32_t
mndInitMnode
(
SMnode
*
pMnode
);
void
mndCleanupMnode
(
SMnode
*
pMnode
);
void
mndGetMnodeEpSetForPeer
(
SEpSet
*
epSet
,
bool
redirect
);
void
mndGetMnodeEpSetForShell
(
SEpSet
*
epSet
,
bool
redirect
);
...
...
source/dnode/mnode/impl/inc/mndOper.h
浏览文件 @
35b0c693
...
...
@@ -20,8 +20,8 @@
extern
"C"
{
#endif
int32_t
mndInitOper
();
void
mndCleanupOper
();
int32_t
mndInitOper
(
SMnode
*
pMnode
);
void
mndCleanupOper
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndProfile.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitProfile
();
void
mndCleanupProfile
();
int32_t
mndInitProfile
(
SMnode
*
pMnode
);
void
mndCleanupProfile
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndShow.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitShow
();
void
mndCleanupShow
();
int32_t
mndInitShow
(
SMnode
*
pMnode
);
void
mndCleanupShow
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndStable.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitStable
();
void
mndCleanupStable
();
int32_t
mndInitStable
(
SMnode
*
pMnode
);
void
mndCleanupStable
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndSync.h
浏览文件 @
35b0c693
...
...
@@ -22,9 +22,9 @@
extern
"C"
{
#endif
int32_t
mndInitSync
();
void
mndCleanupSync
();
bool
mndIsMaster
();
int32_t
mndInitSync
(
SMnode
*
pMnode
);
void
mndCleanupSync
(
SMnode
*
pMnode
);
bool
mndIsMaster
(
SMnode
*
pMnode
);
int32_t
mndSyncPropose
(
SSdbRaw
*
pRaw
,
void
*
pData
);
#ifdef __cplusplus
...
...
source/dnode/mnode/impl/inc/mndTelem.h
浏览文件 @
35b0c693
...
...
@@ -21,8 +21,8 @@ extern "C" {
#endif
#include "mndInt.h"
int32_t
mndInitTelem
();
void
mndCleanupTelem
();
int32_t
mndInitTelem
(
SMnode
*
pMnode
);
void
mndCleanupTelem
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndTrans.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitTrans
();
void
mndCleanupTrans
();
int32_t
mndInitTrans
(
SMnode
*
pMnode
);
void
mndCleanupTrans
(
SMnode
*
pMnode
);
STrans
*
trnCreate
(
ETrnPolicy
policy
,
void
*
rpcHandle
);
void
trnDrop
(
STrans
*
pTrans
);
...
...
source/dnode/mnode/impl/inc/mndUser.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitUser
();
void
mndCleanupUser
();
int32_t
mndInitUser
(
SMnode
*
pMnode
);
void
mndCleanupUser
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/inc/mndVgroup.h
浏览文件 @
35b0c693
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
int32_t
mndInitVgroup
();
void
mndCleanupVgroup
();
int32_t
mndInitVgroup
(
SMnode
*
pMnode
);
void
mndCleanupVgroup
(
SMnode
*
pMnode
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/impl/src/mndAcct.c
浏览文件 @
35b0c693
...
...
@@ -101,7 +101,7 @@ static int32_t mnodeCreateDefaultAcct() {
return
sdbWrite
(
pRaw
);
}
int32_t
mndInitAcct
()
{
int32_t
mndInitAcct
(
SMnode
*
pMnode
)
{
SSdbTable
table
=
{.
sdbType
=
SDB_ACCT
,
.
keyType
=
SDB_KEY_BINARY
,
.
deployFp
=
(
SdbDeployFp
)
mnodeCreateDefaultAcct
,
...
...
@@ -115,4 +115,4 @@ int32_t mndInitAcct() {
return
0
;
}
void
mndCleanupAcct
()
{}
void
mndCleanupAcct
(
SMnode
*
pMnode
)
{}
source/dnode/mnode/impl/src/mndAuth.c
浏览文件 @
35b0c693
...
...
@@ -17,8 +17,8 @@
#include "os.h"
#include "mndAuth.h"
int32_t
mndInitAuth
()
{
return
0
;
}
void
mndCleanupAuth
()
{}
int32_t
mndInitAuth
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupAuth
(
SMnode
*
pMnode
)
{}
int32_t
mndRetriveAuth
(
SMnode
*
pMnode
,
char
*
user
,
char
*
spi
,
char
*
encrypt
,
char
*
secret
,
char
*
ckey
)
{
return
0
;
...
...
source/dnode/mnode/impl/src/mndBalance.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitBalance
()
{
return
0
;
}
void
mndCleanupBalance
()
{}
\ No newline at end of file
int32_t
mndInitBalance
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupBalance
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndCluster.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitCluster
()
{
return
0
;
}
void
mndCleanupCluster
()
{}
\ No newline at end of file
int32_t
mndInitCluster
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupCluster
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndDb.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitDb
()
{
return
0
;
}
void
mndCleanupDb
()
{}
\ No newline at end of file
int32_t
mndInitDb
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupDb
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndDnode.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitDnode
()
{
return
0
;
}
void
mndCleanupDnode
()
{}
\ No newline at end of file
int32_t
mndInitDnode
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupDnode
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndFunc.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitFunc
()
{
return
0
;
}
void
mndCleanupFunc
()
{}
\ No newline at end of file
int32_t
mndInitFunc
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupFunc
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndMnode.c
浏览文件 @
35b0c693
...
...
@@ -17,8 +17,8 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitMnode
()
{
return
0
;
}
void
mndCleanupMnode
()
{}
int32_t
mndInitMnode
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupMnode
(
SMnode
*
pMnode
)
{}
void
mndGetMnodeEpSetForPeer
(
SEpSet
*
epSet
,
bool
redirect
)
{}
void
mndGetMnodeEpSetForShell
(
SEpSet
*
epSet
,
bool
redirect
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndOper.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitOper
()
{
return
0
;
}
void
mndCleanupOper
()
{}
\ No newline at end of file
int32_t
mndInitOper
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupOper
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndProfile.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitProfile
()
{
return
0
;
}
void
mndCleanupProfile
()
{}
\ No newline at end of file
int32_t
mndInitProfile
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupProfile
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndShow.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitShow
()
{
return
0
;
}
void
mndCleanupShow
()
{}
\ No newline at end of file
int32_t
mndInitShow
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupShow
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndStable.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitStable
()
{
return
0
;
}
void
mndCleanupStable
()
{}
\ No newline at end of file
int32_t
mndInitStable
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupStable
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndSync.c
浏览文件 @
35b0c693
...
...
@@ -18,8 +18,8 @@
#include "mndInt.h"
#include "mndTrans.h"
int32_t
mndInitSync
()
{
return
0
;
}
void
mndCleanupSync
()
{}
int32_t
mndInitSync
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupSync
(
SMnode
*
pMnode
)
{}
int32_t
mndSyncPropose
(
SSdbRaw
*
pRaw
,
void
*
pData
)
{
trnApply
(
pData
,
pData
,
0
);
...
...
source/dnode/mnode/impl/src/mndTelem.c
浏览文件 @
35b0c693
...
...
@@ -256,7 +256,7 @@ static void* mndTelemThreadFp(void* param) {
if
(
r
==
0
)
break
;
if
(
r
!=
ETIMEDOUT
)
continue
;
if
(
mndIsMaster
())
{
if
(
mndIsMaster
(
NULL
))
{
mndSendTelemetryReport
();
}
end
.
tv_sec
+=
REPORT_INTERVAL
;
...
...
@@ -278,7 +278,7 @@ static void mndGetEmail(char* filepath) {
taosCloseFile
(
fd
);
}
int32_t
mndInitTelem
()
{
int32_t
mndInitTelem
(
SMnode
*
pMnode
)
{
tsTelem
.
enable
=
tsEnableTelemetryReporting
;
if
(
!
tsTelem
.
enable
)
return
0
;
...
...
@@ -303,7 +303,7 @@ int32_t mndInitTelem() {
return
0
;
}
void
mndCleanupTelem
()
{
void
mndCleanupTelem
(
SMnode
*
pMnode
)
{
if
(
!
tsTelem
.
enable
)
return
;
if
(
taosCheckPthreadValid
(
tsTelem
.
thread
))
{
...
...
source/dnode/mnode/impl/src/mndTrans.c
浏览文件 @
35b0c693
...
...
@@ -312,7 +312,7 @@ int32_t trnAppendUndoAction(STrans *pTrans, SEpSet *pEpSet, void *pMsg) {
return
code
;
}
int32_t
mndInitTrans
()
{
int32_t
mndInitTrans
(
SMnode
*
pMnode
)
{
SSdbTable
table
=
{.
sdbType
=
SDB_TRANS
,
.
keyType
=
SDB_KEY_INT32
,
.
encodeFp
=
(
SdbEncodeFp
)
trnActionEncode
,
...
...
@@ -326,7 +326,7 @@ int32_t mndInitTrans() {
return
0
;
}
void
mndCleanupTrans
()
{
mInfo
(
"trn module is cleaned up"
);
}
void
mndCleanupTrans
(
SMnode
*
pMnode
)
{
mInfo
(
"trn module is cleaned up"
);
}
int32_t
trnPrepare
(
STrans
*
pTrans
,
int32_t
(
*
syncfp
)(
SSdbRaw
*
pRaw
,
void
*
pData
))
{
...
...
source/dnode/mnode/impl/src/mndUser.c
浏览文件 @
35b0c693
...
...
@@ -214,7 +214,7 @@ static int32_t mndProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) {
return
TSDB_CODE_MND_ACTION_IN_PROGRESS
;
}
int32_t
mndInitUser
()
{
int32_t
mndInitUser
(
SMnode
*
pMnode
)
{
SSdbTable
table
=
{.
sdbType
=
SDB_USER
,
.
keyType
=
SDB_KEY_BINARY
,
.
deployFp
=
(
SdbDeployFp
)
mndCreateDefaultUsers
,
...
...
@@ -225,9 +225,9 @@ int32_t mndInitUser() {
.
deleteFp
=
(
SdbDeleteFp
)
mndUserActionDelete
};
sdbSetTable
(
table
);
mndSetMsgHandle
(
NULL
,
TSDB_MSG_TYPE_CREATE_USER
,
mndProcessCreateUserMsg
);
mndSetMsgHandle
(
pMnode
,
TSDB_MSG_TYPE_CREATE_USER
,
mndProcessCreateUserMsg
);
return
0
;
}
void
mndCleanupUser
()
{}
\ No newline at end of file
void
mndCleanupUser
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
source/dnode/mnode/impl/src/mndVgroup.c
浏览文件 @
35b0c693
...
...
@@ -17,5 +17,5 @@
#include "os.h"
#include "mndInt.h"
int32_t
mndInitVgroup
()
{
return
0
;
}
void
mndCleanupVgroup
()
{}
\ No newline at end of file
int32_t
mndInitVgroup
(
SMnode
*
pMnode
)
{
return
0
;
}
void
mndCleanupVgroup
(
SMnode
*
pMnode
)
{}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录