diff --git a/include/server/dnode/dnode.h b/include/server/dnode/dnode.h index 3499913afa..bc0d1e89b0 100644 --- a/include/server/dnode/dnode.h +++ b/include/server/dnode/dnode.h @@ -67,6 +67,11 @@ void dnodeSendRedirectMsg(struct SRpcMsg *rpcMsg, bool forShell); */ void dnodeGetEp(int32_t dnodeId, char *ep, char *fqdn, uint16_t *port); +/** + * Report the startup progress. + */ +void dnodeReportStartup(char *name, char *desc); + #ifdef __cplusplus } #endif diff --git a/include/server/vnode/vnode.h b/include/server/vnode/vnode.h index 00decfe338..ecb1412b06 100644 --- a/include/server/vnode/vnode.h +++ b/include/server/vnode/vnode.h @@ -46,6 +46,11 @@ typedef struct { */ void (*GetDnodeEp)(int32_t dnodeId, char *ep, char *fqdn, uint16_t *port); + /** + * Report the startup progress. + */ + void (*ReportStartup)(char *name, char *desc); + } SVnodeFp; typedef struct { diff --git a/source/server/dnode/src/dnodeInt.c b/source/server/dnode/src/dnodeInt.c index d294143e57..7b0b87368e 100644 --- a/source/server/dnode/src/dnodeInt.c +++ b/source/server/dnode/src/dnodeInt.c @@ -37,7 +37,7 @@ EDnStat dnodeGetRunStat() { return tsDnode.runStatus; } void dnodeSetRunStat(EDnStat stat) { tsDnode.runStatus = stat; } -static void dnodeReportStartup(char *name, char *desc) { +void dnodeReportStartup(char *name, char *desc) { SStartupStep *startup = &tsDnode.startup; tstrncpy(startup->name, name, strlen(startup->name)); tstrncpy(startup->desc, desc, strlen(startup->desc)); @@ -58,6 +58,7 @@ static int32_t dnodeInitVnode() { para.fp.GetDnodeEp = dnodeGetEp; para.fp.SendMsgToDnode = dnodeSendMsgToDnode; para.fp.SendMsgToMnode = dnodeSendMsgToMnode; + para.fp.ReportStartup = dnodeReportStartup; return vnodeInit(para); } diff --git a/source/server/vnode/inc/vnodeInt.h b/source/server/vnode/inc/vnodeInt.h index d94c5ba2b5..3c7487f681 100644 --- a/source/server/vnode/inc/vnodeInt.h +++ b/source/server/vnode/inc/vnodeInt.h @@ -112,6 +112,7 @@ typedef struct { void vnodeSendMsgToDnode(struct SRpcEpSet *epSet, struct SRpcMsg *rpcMsg); void vnodeSendMsgToMnode(struct SRpcMsg *rpcMsg); void vnodeGetDnodeEp(int32_t dnodeId, char *ep, char *fqdn, uint16_t *port); +void vnodeReportStartup(char *name, char *desc); #ifdef __cplusplus } diff --git a/source/server/vnode/src/vnodeInt.c b/source/server/vnode/src/vnodeInt.c index ed295160ba..9e1739a68e 100644 --- a/source/server/vnode/src/vnodeInt.c +++ b/source/server/vnode/src/vnodeInt.c @@ -37,6 +37,8 @@ void vnodeSendMsgToDnode(struct SRpcEpSet *epSet, struct SRpcMsg *rpcMsg) { void vnodeSendMsgToMnode(struct SRpcMsg *rpcMsg) { return (*tsVint.fp.SendMsgToMnode)(rpcMsg); } +void vnodeReportStartup(char *name, char *desc) { (*tsVint.fp.ReportStartup)(name, desc); } + void vnodeProcessMsg(SRpcMsg *pMsg) { if (tsVint.msgFp[pMsg->msgType]) { (*tsVint.msgFp[pMsg->msgType])(pMsg);