diff --git a/src/dnode/src/dnodeSystem.c b/src/dnode/src/dnodeSystem.c index d41a2c6a8ae442f09b20c1dc55d06d5d5273cd88..e9a452726a7495424987180f72de449e83f1a440 100644 --- a/src/dnode/src/dnodeSystem.c +++ b/src/dnode/src/dnodeSystem.c @@ -27,6 +27,7 @@ static void sigintHandler(int32_t signum, void *sigInfo, void *context); int32_t main(int32_t argc, char *argv[]) { int dump_config = 0; + int dump_cluster = 0; // Set global configuration file for (int32_t i = 1; i < argc; ++i) { @@ -61,8 +62,10 @@ int32_t main(int32_t argc, char *argv[]) { printf("buildinfo: %s\n", buildinfo); exit(EXIT_SUCCESS); } else if (strcmp(argv[i], "-k") == 0) { - grantParseParameter(); + grantParseParameter(argv[i]); exit(EXIT_SUCCESS); + } else if (strcmp(argv[i], "-u") == 0) { + dump_cluster = 1; } else if (strcmp(argv[i], "-A") == 0) { tsPrintAuth = 1; } @@ -115,6 +118,13 @@ int32_t main(int32_t argc, char *argv[]) { exit(EXIT_SUCCESS); } + if (0 != dump_cluster) { + taosInitGlobalCfg(); + taosReadGlobalCfg(); + grantParseParameter("-u"); + exit(EXIT_SUCCESS); + } + if (tsem_init(&exitSem, 0, 0) != 0) { printf("failed to create exit semphore\n"); exit(EXIT_FAILURE); diff --git a/src/inc/tgrant.h b/src/inc/tgrant.h index f62a521b6cd157074ab18a4bf1a1a18f9120ac97..fb983bedc6098b254d6cfa23b2d197f0a74b0ec1 100644 --- a/src/inc/tgrant.h +++ b/src/inc/tgrant.h @@ -38,7 +38,7 @@ typedef enum { int32_t grantInit(); void grantCleanUp(); -void grantParseParameter(); +void grantParseParameter(const char* param); int32_t grantCheck(EGrantType grant); void grantReset(EGrantType grant, uint64_t value); void grantAdd(EGrantType grant, uint64_t value); diff --git a/src/mnode/src/mnodeGrant.c b/src/mnode/src/mnodeGrant.c index 7329629ef92f61d29794807bd868cda354270548..dc3923a1000ceb0a2d368aaf371ad98b63cc4178 100644 --- a/src/mnode/src/mnodeGrant.c +++ b/src/mnode/src/mnodeGrant.c @@ -22,7 +22,7 @@ int32_t grantInit() { return TSDB_CODE_SUCCESS; } void grantCleanUp() {} -void grantParseParameter() { mError("can't parsed parameter k"); } +void grantParseParameter(const char* param) { mError("can't parse parameter %s", param); } int32_t grantCheck(EGrantType grant) { return TSDB_CODE_SUCCESS; } void grantReset(EGrantType grant, uint64_t value) {} void grantAdd(EGrantType grant, uint64_t value) {}