You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.8 KiB
87 lines
2.8 KiB
From 2e6a5e504e66bc95208420e4882e453a53ac9ea2 Mon Sep 17 00:00:00 2001 |
|
From: schaffung <ssivakum@redhat.com> |
|
Date: Mon, 2 Nov 2020 11:18:01 +0530 |
|
Subject: [PATCH 485/511] cli-rpc: conditional init of global quota rpc (#1578) |
|
|
|
Issue: It is seem that the initialization of rpc to |
|
connect with quotad is done in every glusterfs cli command, |
|
irrespective of whether the quota feature is enabled or disabled. |
|
This seems to be an overkill. |
|
|
|
Code change: The file /var/run/quotad/quotad.pid is present |
|
signals that quotad is enabled. Hence we can put a conditional |
|
check for seeing when this file exists and if it doesn't we |
|
just skip over the initialization of the global quotad rpc. |
|
|
|
This will go on to reduce the extra rpc calls and operations |
|
being performed in the kernel space. |
|
|
|
>Fixes: #1577 |
|
>Change-Id: Icb69d35330f76ce95626f59af75a12726eb620ff |
|
>Signed-off-by: srijan-sivakumar <ssivakumar@redhat.com> |
|
Upstream Patch : https://github.com/gluster/glusterfs/pull/1578 |
|
|
|
BUG: 1885966 |
|
Change-Id: Icb69d35330f76ce95626f59af75a12726eb620ff |
|
Signed-off-by: Srijan Sivakumar <ssivakum@redhat.com> |
|
Reviewed-on: https://code.engineering.redhat.com/gerrit/220371 |
|
Tested-by: RHGS Build Bot <nigelb@redhat.com> |
|
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com> |
|
--- |
|
cli/src/cli.c | 18 +++++++++++++----- |
|
cli/src/cli.h | 3 +++ |
|
2 files changed, 16 insertions(+), 5 deletions(-) |
|
|
|
diff --git a/cli/src/cli.c b/cli/src/cli.c |
|
index 99a16a0..a76c5a2 100644 |
|
--- a/cli/src/cli.c |
|
+++ b/cli/src/cli.c |
|
@@ -64,8 +64,7 @@ |
|
extern int connected; |
|
/* using argp for command line parsing */ |
|
|
|
-const char *argp_program_version = |
|
- PACKAGE_NAME" "PACKAGE_VERSION; |
|
+const char *argp_program_version = PACKAGE_NAME " " PACKAGE_VERSION; |
|
const char *argp_program_bug_address = "<" PACKAGE_BUGREPORT ">"; |
|
|
|
struct rpc_clnt *global_quotad_rpc; |
|
@@ -840,9 +839,18 @@ main(int argc, char *argv[]) |
|
if (!global_rpc) |
|
goto out; |
|
|
|
- global_quotad_rpc = cli_quotad_clnt_rpc_init(); |
|
- if (!global_quotad_rpc) |
|
- goto out; |
|
+ /* |
|
+ * Now, one doesn't need to initialize global rpc |
|
+ * for quota unless and until quota is enabled. |
|
+ * So why not put a check to save all the rpc related |
|
+ * ops here. |
|
+ */ |
|
+ ret = sys_access(QUOTAD_PID_PATH, F_OK); |
|
+ if (!ret) { |
|
+ global_quotad_rpc = cli_quotad_clnt_rpc_init(); |
|
+ if (!global_quotad_rpc) |
|
+ goto out; |
|
+ } |
|
|
|
ret = cli_cmds_register(&state); |
|
if (ret) |
|
diff --git a/cli/src/cli.h b/cli/src/cli.h |
|
index 37e4d9d..c30ae9c 100644 |
|
--- a/cli/src/cli.h |
|
+++ b/cli/src/cli.h |
|
@@ -30,6 +30,9 @@ |
|
#define CLI_TAB_LENGTH 8 |
|
#define CLI_BRICK_STATUS_LINE_LEN 78 |
|
|
|
+// Quotad pid path. |
|
+#define QUOTAD_PID_PATH "/var/run/gluster/quotad/quotad.pid" |
|
+ |
|
/* Geo-rep command positional arguments' index */ |
|
#define GEO_REP_CMD_INDEX 1 |
|
#define GEO_REP_CMD_CONFIG_INDEX 4 |
|
-- |
|
1.8.3.1 |
|
|
|
|