From 8e2e43e220ff1798cdc2dc9a5ec51cad23a03488 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 6 Jan 2023 06:51:57 +0800 Subject: [PATCH] enh: support taosd -u --- src/dnode/src/dnodeSystem.c | 12 +++++++++++- src/inc/tgrant.h | 2 +- src/mnode/src/mnodeGrant.c | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/dnode/src/dnodeSystem.c b/src/dnode/src/dnodeSystem.c index d41a2c6a8a..e9a452726a 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 f62a521b6c..fb983bedc6 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 7329629ef9..dc3923a100 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) {} -- GitLab