diff options
Diffstat (limited to '0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch')
-rw-r--r-- | 0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch b/0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch new file mode 100644 index 0000000..6ed4f1c --- /dev/null +++ b/0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch @@ -0,0 +1,87 @@ +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 + |