From 194e4216c8e30612f96f8f3712fdb3f1c96b3a08 Mon Sep 17 00:00:00 2001 From: Yaniv Kaul Date: Tue, 3 Dec 2019 12:57:13 +0200 Subject: [RFC]#ifdef gNFS related code if we are not compiling gNFS If we are not compiling gNFS (--enable-gnfs is not given in the ./configure script params), there is little point in compiling code that is related to it. This patch tries to eliminate it. My hope (and it's not clear from the code ) is that I did not break the NFS Ganesha support as well. Other than that, tried to compile with and without anad it looks sane. Change-Id: I8d6c98066b9fceab4ec10fc6f5e81ab069e853bd updates: bz#1193929 Signed-off-by: Yaniv Kaul --- xlators/mgmt/glusterd/src/glusterd-ganesha.c | 4 ++-- xlators/mgmt/glusterd/src/glusterd-nfs-svc.c | 3 +++ xlators/mgmt/glusterd/src/glusterd-nfs-svc.h | 2 ++ xlators/mgmt/glusterd/src/glusterd-op-sm.c | 1 - xlators/mgmt/glusterd/src/glusterd-quota.c | 1 - xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 1 - xlators/mgmt/glusterd/src/glusterd-reset-brick.c | 1 - xlators/mgmt/glusterd/src/glusterd-statedump.c | 1 - xlators/mgmt/glusterd/src/glusterd-svc-helper.c | 8 ++++++-- xlators/mgmt/glusterd/src/glusterd-utils.c | 17 +++++++++++----- xlators/mgmt/glusterd/src/glusterd-utils.h | 2 ++ xlators/mgmt/glusterd/src/glusterd-volgen.c | 23 +++++++++++++++++----- xlators/mgmt/glusterd/src/glusterd-volgen.h | 3 ++- xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 12 +++++------ xlators/mgmt/glusterd/src/glusterd.c | 9 ++++++++- 15 files changed, 61 insertions(+), 27 deletions(-) (limited to 'xlators/mgmt/glusterd') diff --git a/xlators/mgmt/glusterd/src/glusterd-ganesha.c b/xlators/mgmt/glusterd/src/glusterd-ganesha.c index caba34f5489..0c18cc45b07 100644 --- a/xlators/mgmt/glusterd/src/glusterd-ganesha.c +++ b/xlators/mgmt/glusterd/src/glusterd-ganesha.c @@ -13,7 +13,6 @@ #include "glusterd-op-sm.h" #include "glusterd-store.h" #include "glusterd-utils.h" -#include "glusterd-nfs-svc.h" #include "glusterd-volgen.h" #include "glusterd-messages.h" #include @@ -793,12 +792,13 @@ start_ganesha(char **op_errstr) cds_list_for_each_entry(volinfo, &priv->volumes, vol_list) { vol_opts = volinfo->dict; +#ifdef BUILD_GNFS /* Gluster-nfs has to be disabled across the trusted pool */ /* before attempting to start nfs-ganesha */ ret = dict_set_str(vol_opts, NFS_DISABLE_MAP_KEY, "on"); if (ret) goto out; - +#endif ret = glusterd_store_volinfo(volinfo, GLUSTERD_VOLINFO_VER_AC_INCREMENT); if (ret) { diff --git a/xlators/mgmt/glusterd/src/glusterd-nfs-svc.c b/xlators/mgmt/glusterd/src/glusterd-nfs-svc.c index 36e9052aebe..4908dbbc213 100644 --- a/xlators/mgmt/glusterd/src/glusterd-nfs-svc.c +++ b/xlators/mgmt/glusterd/src/glusterd-nfs-svc.c @@ -8,6 +8,8 @@ cases as published by the Free Software Foundation. */ +#ifdef BUILD_GNFS + #include #include #include @@ -223,3 +225,4 @@ out: gf_msg_debug(this ? this->name : "glusterd", 0, "Returning %d", ret); return ret; } +#endif diff --git a/xlators/mgmt/glusterd/src/glusterd-nfs-svc.h b/xlators/mgmt/glusterd/src/glusterd-nfs-svc.h index 47e89830f55..6bfdde95749 100644 --- a/xlators/mgmt/glusterd/src/glusterd-nfs-svc.h +++ b/xlators/mgmt/glusterd/src/glusterd-nfs-svc.h @@ -13,6 +13,7 @@ #include "glusterd-svc-mgmt.h" +#ifdef BUILD_GNFS void glusterd_nfssvc_build(glusterd_svc_t *svc); @@ -22,4 +23,5 @@ glusterd_nfssvc_init(glusterd_svc_t *svc); int glusterd_nfssvc_reconfigure(); +#endif /* BUILD_GNFS */ #endif diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index ab7e1709d36..2e57539033e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -38,7 +38,6 @@ #include "glusterd-svc-helper.h" #include "glusterd-shd-svc-helper.h" #include "glusterd-shd-svc.h" -#include "glusterd-nfs-svc.h" #include "glusterd-quotad-svc.h" #include "glusterd-server-quorum.h" #include diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index 53d56059d9d..5985ab2de55 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -14,7 +14,6 @@ #include "glusterd-op-sm.h" #include "glusterd-store.h" #include "glusterd-utils.h" -#include "glusterd-nfs-svc.h" #include "glusterd-quotad-svc.h" #include "glusterd-volgen.h" #include "glusterd-messages.h" diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index efaddde67e2..a861240da31 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -18,7 +18,6 @@ #include "glusterd-utils.h" #include "glusterd-svc-mgmt.h" #include "glusterd-svc-helper.h" -#include "glusterd-nfs-svc.h" #include "glusterd-volgen.h" #include "glusterd-messages.h" #include "glusterd-server-quorum.h" diff --git a/xlators/mgmt/glusterd/src/glusterd-reset-brick.c b/xlators/mgmt/glusterd/src/glusterd-reset-brick.c index b591d8424b8..e4d247a1d6c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-reset-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-reset-brick.c @@ -18,7 +18,6 @@ #include "glusterd-utils.h" #include "glusterd-svc-mgmt.h" #include "glusterd-svc-helper.h" -#include "glusterd-nfs-svc.h" #include "glusterd-volgen.h" #include "glusterd-messages.h" #include "glusterd-mgmt.h" diff --git a/xlators/mgmt/glusterd/src/glusterd-statedump.c b/xlators/mgmt/glusterd/src/glusterd-statedump.c index 69d4cf4aacb..735b5d47335 100644 --- a/xlators/mgmt/glusterd/src/glusterd-statedump.c +++ b/xlators/mgmt/glusterd/src/glusterd-statedump.c @@ -12,7 +12,6 @@ #include "glusterd.h" #include "glusterd-shd-svc.h" #include "glusterd-quotad-svc.h" -#include "glusterd-nfs-svc.h" #include "glusterd-locks.h" #include "glusterd-messages.h" diff --git a/xlators/mgmt/glusterd/src/glusterd-svc-helper.c b/xlators/mgmt/glusterd/src/glusterd-svc-helper.c index 3b965ea1ed8..a27838bb50e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-svc-helper.c +++ b/xlators/mgmt/glusterd/src/glusterd-svc-helper.c @@ -17,7 +17,9 @@ #include "glusterd-svc-mgmt.h" #include "glusterd-shd-svc.h" #include "glusterd-quotad-svc.h" +#ifdef BUILD_GNFS #include "glusterd-nfs-svc.h" +#endif #include "glusterd-bitd-svc.h" #include "glusterd-shd-svc-helper.h" #include "glusterd-scrub-svc.h" @@ -38,11 +40,12 @@ glusterd_svcs_reconfigure(glusterd_volinfo_t *volinfo) conf = this->private; GF_ASSERT(conf); +#ifdef BUILD_GNFS svc_name = "nfs"; ret = glusterd_nfssvc_reconfigure(); if (ret) goto out; - +#endif svc_name = "self-heald"; if (volinfo) { ret = glusterd_shdsvc_reconfigure(volinfo); @@ -122,10 +125,11 @@ glusterd_svcs_manager(glusterd_volinfo_t *volinfo) if (volinfo && volinfo->is_snap_volume) return 0; +#if BUILD_GNFS ret = conf->nfs_svc.manager(&(conf->nfs_svc), NULL, PROC_START_NO_WAIT); if (ret) goto out; - +#endif if (conf->op_version == GD_OP_VERSION_MIN) goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 6b44ebd4b13..4809e5f1658 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -53,7 +53,6 @@ #include "glusterd-svc-mgmt.h" #include "glusterd-svc-helper.h" #include "glusterd-shd-svc.h" -#include "glusterd-nfs-svc.h" #include "glusterd-quotad-svc.h" #include "glusterd-snapd-svc.h" #include "glusterd-bitd-svc.h" @@ -91,6 +90,7 @@ #define NLMV4_VERSION 4 #define NLMV1_VERSION 1 +#ifdef BUILD_GNFS #define GLUSTERD_GET_NFS_PIDFILE(pidfile, priv) \ do { \ int32_t _nfs_pid_len; \ @@ -100,6 +100,7 @@ pidfile[0] = 0; \ } \ } while (0) +#endif #define GLUSTERD_GET_QUOTAD_PIDFILE(pidfile, priv) \ do { \ @@ -5498,12 +5499,14 @@ glusterd_add_node_to_dict(char *server, dict_t *dict, int count, */ keylen = snprintf(key, sizeof(key), "brick%d.hostname", count); - if (!strcmp(server, priv->nfs_svc.name)) - ret = dict_set_nstrn(dict, key, keylen, "NFS Server", - SLEN("NFS Server")); - else if (!strcmp(server, priv->quotad_svc.name)) + if (!strcmp(server, priv->quotad_svc.name)) ret = dict_set_nstrn(dict, key, keylen, "Quota Daemon", SLEN("Quota Daemon")); +#ifdef BUILD_GNFS + else if (!strcmp(server, priv->nfs_svc.name)) + ret = dict_set_nstrn(dict, key, keylen, "NFS Server", + SLEN("NFS Server")); +#endif else if (!strcmp(server, priv->bitd_svc.name)) ret = dict_set_nstrn(dict, key, keylen, "Bitrot Daemon", SLEN("Bitrot Daemon")); @@ -5518,6 +5521,7 @@ glusterd_add_node_to_dict(char *server, dict_t *dict, int count, if (ret) goto out; +#ifdef BUILD_GNFS /* Port is available only for the NFS server. * Self-heal daemon doesn't provide any port for access * by entities other than gluster. @@ -5531,6 +5535,7 @@ glusterd_add_node_to_dict(char *server, dict_t *dict, int count, } else port = GF_NFS3_PORT; } +#endif keylen = snprintf(key, sizeof(key), "brick%d.port", count); ret = dict_set_int32n(dict, key, keylen, port); if (ret) @@ -8734,6 +8739,7 @@ glusterd_brick_terminate(glusterd_volinfo_t *volinfo, op_errstr, SIGTERM); } +#ifdef BUILD_GNFS int glusterd_nfs_statedump(char *options, int option_cnt, char **op_errstr) { @@ -8815,6 +8821,7 @@ out: GF_FREE(dup_options); return ret; } +#endif int glusterd_client_statedump(char *volname, char *options, int option_cnt, diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 7ee59848c5e..b58f158fd14 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -403,8 +403,10 @@ glusterd_brick_terminate(glusterd_volinfo_t *volinfo, glusterd_brickinfo_t *brickinfo, char *options, int option_cnt, char **op_errstr); +#ifdef BUILD_GNFS int glusterd_nfs_statedump(char *options, int option_cnt, char **op_errstr); +#endif int glusterd_client_statedump(char *volname, char *options, int option_cnt, diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 20362727071..61bc59782ed 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1154,9 +1154,11 @@ get_transport_type(glusterd_volinfo_t *volinfo, dict_t *set_dict, char *transt, if (ret) get_vol_transport_type(volinfo, transt); } else { +#ifdef BUILD_GNFS ret = dict_get_str_sizen(set_dict, "nfs.transport-type", &tt); if (ret) get_vol_nfs_transport_type(volinfo, transt); +#endif } if (!ret) @@ -2933,8 +2935,10 @@ _get_xlator_opt_key_from_vme(struct volopt_map_entry *vme, char **key) *key = gf_strdup(AUTH_ALLOW_OPT_KEY); else if (!strcmp(vme->key, AUTH_REJECT_MAP_KEY)) *key = gf_strdup(AUTH_REJECT_OPT_KEY); +#ifdef BUILD_GNFS else if (!strcmp(vme->key, NFS_DISABLE_MAP_KEY)) *key = gf_strdup(NFS_DISABLE_OPT_KEY); +#endif else { if (vme->option) { if (vme->option[0] == '!') { @@ -3906,11 +3910,13 @@ client_graph_set_perf_options(volgen_graph_t *graph, volname = volinfo->volname; +#ifdef BUILD_GNFS tmp_data = dict_get_sizen(set_dict, "nfs-volume-file"); if (!tmp_data) return volgen_graph_set_options_generic(graph, set_dict, volinfo, &perfxl_option_handler); else +#endif return volgen_graph_set_options_generic(graph, set_dict, volname, &nfsperfxl_option_handler); } @@ -4354,6 +4360,7 @@ out: return ret; } +#ifdef BUILD_GNFS static int nfs_option_handler(volgen_graph_t *graph, struct volopt_map_entry *vme, void *param) @@ -4434,6 +4441,7 @@ out: return 0; } +#endif char * volgen_get_shd_key(int type) { @@ -4722,6 +4730,8 @@ out: return ret; } +#ifdef BUILD_GNFS + static int volgen_graph_set_iam_nfsd(const volgen_graph_t *graph) { @@ -4914,7 +4924,7 @@ out: return ret; } - +#endif /**************************** * * Volume generation interface @@ -6105,7 +6115,8 @@ out: return ret; } -int +#ifdef BUILD_GNFS +static int validate_nfsopts(glusterd_volinfo_t *volinfo, dict_t *val_dict, char **op_errstr) { @@ -6170,6 +6181,7 @@ out: gf_msg_debug(this->name, 0, "Returning %d", ret); return ret; } +#endif int validate_clientopts(glusterd_volinfo_t *volinfo, dict_t *val_dict, @@ -6287,13 +6299,13 @@ glusterd_validate_globalopts(glusterd_volinfo_t *volinfo, dict_t *val_dict, gf_msg_debug("glusterd", 0, "Could not Validate client"); goto out; } - +#ifdef BUILD_GNFS ret = validate_nfsopts(volinfo, val_dict, op_errstr); if (ret) { gf_msg_debug("glusterd", 0, "Could not Validate nfs"); goto out; } - +#endif ret = validate_shdopts(volinfo, val_dict, op_errstr); if (ret) { gf_msg_debug("glusterd", 0, "Could not Validate self-heald"); @@ -6343,12 +6355,13 @@ glusterd_validate_reconfopts(glusterd_volinfo_t *volinfo, dict_t *val_dict, goto out; } +#ifdef BUILD_GNFS ret = validate_nfsopts(volinfo, val_dict, op_errstr); if (ret) { gf_msg_debug("glusterd", 0, "Could not Validate nfs"); goto out; } - +#endif ret = validate_shdopts(volinfo, val_dict, op_errstr); if (ret) { gf_msg_debug("glusterd", 0, "Could not Validate self-heald"); diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.h b/xlators/mgmt/glusterd/src/glusterd-volgen.h index 30e682015bc..cd4d0c7d0cc 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.h +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.h @@ -216,9 +216,10 @@ int build_shd_graph(glusterd_volinfo_t *volinfo, volgen_graph_t *graph, dict_t *mod_dict); +#ifdef BUILD_GNFS int build_nfs_graph(volgen_graph_t *graph, dict_t *mod_dict); - +#endif int build_quotad_graph(volgen_graph_t *graph, dict_t *mod_dict); diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 4d084e3d893..b2bb24653dd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -2786,16 +2786,16 @@ glusterd_op_statedump_volume(dict_t *dict, char **op_errstr) if (ret) goto out; gf_msg_debug("glusterd", 0, "Performing statedump on volume %s", volname); - if (strstr(options, "nfs") != NULL) { - ret = glusterd_nfs_statedump(options, option_cnt, op_errstr); + if (strstr(options, "quotad")) { + ret = glusterd_quotad_statedump(options, option_cnt, op_errstr); if (ret) goto out; - - } else if (strstr(options, "quotad")) { - ret = glusterd_quotad_statedump(options, option_cnt, op_errstr); +#ifdef BUILD_GNFS + } else if (strstr(options, "nfs") != NULL) { + ret = glusterd_nfs_statedump(options, option_cnt, op_errstr); if (ret) goto out; - +#endif } else if (strstr(options, "client")) { ret = glusterd_client_statedump(volname, options, option_cnt, op_errstr); diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index c17f2859d9b..cd2c5da628b 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -37,7 +37,9 @@ #include "glusterd-locks.h" #include "glusterd-svc-mgmt.h" #include "glusterd-shd-svc.h" +#ifdef BUILD_GNFS #include "glusterd-nfs-svc.h" +#endif #include "glusterd-bitd-svc.h" #include "glusterd-scrub-svc.h" #include "glusterd-quotad-svc.h" @@ -1562,6 +1564,7 @@ init(xlator_t *this) exit(1); } +#ifdef BUILD_GNFS ret = glusterd_init_var_run_dirs(this, rundir, GLUSTERD_NFS_RUN_DIR); if (ret) { gf_msg(this->name, GF_LOG_CRITICAL, 0, GD_MSG_CREATE_DIR_FAILED, @@ -1569,6 +1572,7 @@ init(xlator_t *this) "nfs running directory"); exit(1); } +#endif ret = glusterd_init_var_run_dirs(this, rundir, GLUSTERD_QUOTAD_RUN_DIR); if (ret) { @@ -1662,6 +1666,7 @@ init(xlator_t *this) exit(1); } +#ifdef BUILD_GNFS len = snprintf(storedir, sizeof(storedir), "%s/nfs", workdir); if ((len < 0) || (len >= sizeof(storedir))) { exit(1); @@ -1674,7 +1679,7 @@ init(xlator_t *this) storedir, errno); exit(1); } - +#endif len = snprintf(storedir, sizeof(storedir), "%s/bitd", workdir); if ((len < 0) || (len >= sizeof(storedir))) { exit(1); @@ -1921,7 +1926,9 @@ init(xlator_t *this) glusterd_mgmt_v3_lock_timer_init(); glusterd_txn_opinfo_dict_init(); +#ifdef BUILD_GNFS glusterd_nfssvc_build(&conf->nfs_svc); +#endif glusterd_quotadsvc_build(&conf->quotad_svc); glusterd_bitdsvc_build(&conf->bitd_svc); glusterd_scrubsvc_build(&conf->scrub_svc); -- cgit