[lvm-devel] [PATCH] Remove GULM support completely.
Christine Caulfield
ccaulfie at redhat.com
Wed Aug 10 07:19:30 UTC 2011
On 09/08/11 17:39, Milan Broz wrote:
> This cluster locking is not used for years and is completely obsoleted.
>
> Signed-off-by: Milan Broz<mbroz at redhat.com>
>
Can I ACK this one? Please, please? can I?
Chrissie
---
> configure.in | 50 +--
> daemons/clvmd/Makefile.in | 10 -
> daemons/clvmd/clvmd-comms.h | 7 -
> daemons/clvmd/clvmd-gulm.c | 1010 -----------------------------------------
> daemons/clvmd/clvmd-gulm.h | 9 -
> daemons/clvmd/clvmd.c | 29 +-
> daemons/clvmd/lvm-functions.c | 46 +--
> daemons/clvmd/lvm-functions.h | 2 +-
> daemons/clvmd/tcp-comms.c | 502 --------------------
> daemons/clvmd/tcp-comms.h | 13 -
> lib/misc/configure.h.in | 6 -
> 11 files changed, 8 insertions(+), 1676 deletions(-)
> delete mode 100644 daemons/clvmd/clvmd-gulm.c
> delete mode 100644 daemons/clvmd/clvmd-gulm.h
> delete mode 100644 daemons/clvmd/tcp-comms.c
> delete mode 100644 daemons/clvmd/tcp-comms.h
>
> diff --git a/configure.in b/configure.in
> index 24f1ec4..5b52c4d 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -423,7 +423,6 @@ AC_MSG_CHECKING(whether to build cluster LVM daemon)
> AC_ARG_WITH(clvmd,
> [ --with-clvmd=TYPE build cluster LVM Daemon
> The following cluster manager combinations are valid:
> - * cman,gulm (RHEL4 or equivalent)
> * cman (RHEL5 or equivalent)
> * cman,corosync,openais (or selection of them)
> * singlenode (localhost only)
> @@ -449,15 +448,10 @@ fi
> dnl -- Express clvmd init script Required-Start / Required-Stop
> CLVMD_CMANAGERS=""
> dnl -- On RHEL4/RHEL5, qdiskd is started from a separate init script.
> -dnl -- Enable if we are build for either cman or gulm.
> +dnl -- Enable if we are build for cman.
> CLVMD_NEEDS_QDISKD=no
>
> dnl -- define build types
> -if [[ `expr x"$CLVMD" : '.*gulm.*'` != 0 ]]; then
> - BUILDGULM=yes
> - CLVMD_CMANAGERS="$CLVMD_CMANAGERS lock_gulmd"
> - CLVMD_NEEDS_QDISKD=yes
> -fi
> if [[ `expr x"$CLVMD" : '.*cman.*'` != 0 ]]; then
> BUILDCMAN=yes
> CLVMD_CMANAGERS="$CLVMD_CMANAGERS cman"
> @@ -475,14 +469,6 @@ if test x$CLVMD_NEEDS_QDISKD != xno; then
> CLVMD_CMANAGERS="$CLVMD_CMANAGERS qdiskd"
> fi
>
> -dnl -- sanity check around user selection
> -if test x$BUILDGULM = xyes; then
> - if test x$BUILDCOROSYNC = xyes || \
> - test x$BUILDOPENAIS = xyes; then
> - AC_MSG_ERROR([requested clvmd configuration is not valid])
> - fi
> -fi
> -
> dnl -- define a soft bailout if we are autodetecting
> soft_bailout() {
> NOTFOUND=1
> @@ -494,10 +480,9 @@ hard_bailout() {
>
> dnl -- if clvmd=all then set soft_bailout (we don't want to error)
> dnl -- and set all builds to yes. We need to do this here
> -dnl -- to skip the gulm + openais|corosync sanity check above.
> +dnl -- to skip the openais|corosync sanity check above.
> if test x$CLVMD = xall; then
> bailout=soft_bailout
> - BUILDGULM=yes
> BUILDCMAN=yes
> BUILDCOROSYNC=yes
> BUILDOPENAIS=yes
> @@ -519,28 +504,6 @@ check_lib_no_libs() {
> LIBS=$ac_check_lib_save_LIBS
> }
>
> -dnl -- Look for gulm libraries if required.
> -if test x$BUILDGULM = xyes; then
> - PKG_CHECK_MODULES(CCS, libccs, [HAVE_CCS=yes],
> - [NOTFOUND=0
> - AC_CHECK_HEADERS(ccs.h,,$bailout)
> - check_lib_no_libs ccs ccs_connect
> - if test $NOTFOUND = 0; then
> - AC_MSG_RESULT([no pkg for libccs, using -lccs])
> - CCS_LIBS="-lccs"
> - HAVE_CCS=yes
> - fi])
> - PKG_CHECK_MODULES(GULM, libgulm, [HAVE_GULM=yes],
> - [NOTFOUND=0
> - AC_CHECK_HEADERS(libgulm.h,,$bailout)
> - check_lib_no_libs gulm lg_core_login
> - if test $NOTFOUND = 0; then
> - AC_MSG_RESULT([no pkg for libgulm, using -lgulm])
> - GULM_LIBS="-lgulm"
> - HAVE_GULM=yes
> - fi])
> -fi
> -
> dnl -- Look for cman libraries if required.
> if test x$BUILDCMAN = xyes; then
> PKG_CHECK_MODULES(CMAN, libcman, [HAVE_CMAN=yes],
> @@ -633,13 +596,6 @@ if test x$CLVMD = xall; then
> CLVMD=none
> CLVMD_CMANAGERS=""
> CLVMD_NEEDS_QDISKD=no
> - if test x$HAVE_CCS = xyes&& \
> - test x$HAVE_GULM = xyes; then
> - AC_MSG_RESULT([Enabling clvmd gulm cluster manager])
> - CLVMD="$CLVMD,gulm"
> - CLVMD_CMANAGERS="$CLVMD_CMANAGERS lock_gulmd"
> - CLVMD_NEEDS_QDISKD=yes
> - fi
> if test x$HAVE_CMAN = xyes&& \
> test x$HAVE_DLM = xyes; then
> AC_MSG_RESULT([Enabling clvmd cman cluster manager])
> @@ -1346,8 +1302,6 @@ AC_SUBST(DM_IOCTLS)
> AC_SUBST(DM_LIB_VERSION)
> AC_SUBST(DM_LIB_PATCHLEVEL)
> AC_SUBST(FSADM)
> -AC_SUBST(GULM_CFLAGS)
> -AC_SUBST(GULM_LIBS)
> AC_SUBST(HAVE_LIBDL)
> AC_SUBST(HAVE_REALTIME)
> AC_SUBST(INTL)
> diff --git a/daemons/clvmd/Makefile.in b/daemons/clvmd/Makefile.in
> index ee19e6c..91fd273 100644
> --- a/daemons/clvmd/Makefile.in
> +++ b/daemons/clvmd/Makefile.in
> @@ -25,8 +25,6 @@ CPG_LIBS = @CPG_LIBS@
> CPG_CFLAGS = @CPG_CFLAGS@
> DLM_LIBS = @DLM_LIBS@
> DLM_CFLAGS = @DLM_CFLAGS@
> -GULM_LIBS = @GULM_LIBS@
> -GULM_CFLAGS = @GULM_CFLAGS@
> QUORUM_LIBS = @QUORUM_LIBS@
> QUORUM_CFLAGS = @QUORUM_CFLAGS@
> SALCK_LIBS = @SALCK_LIBS@
> @@ -42,13 +40,6 @@ ifeq ("@DEBUG@", "yes")
> DEFS += -DDEBUG
> endif
>
> -ifneq (,$(findstring gulm,, "@CLVMD@,"))
> - SOURCES += clvmd-gulm.c tcp-comms.c
> - LMLIBS += $(CCS_LIBS) $(GULM_LIBS)
> - CFLAGS += $(CCS_CFLAGS) $(GULM_CFLAGS)
> - DEFS += -DUSE_GULM
> -endif
> -
> ifneq (,$(findstring cman,, "@CLVMD@,"))
> SOURCES += clvmd-cman.c
> LMLIBS += $(CMAN_LIBS) $(CONFDB_LIBS) $(DLM_LIBS)
> @@ -76,7 +67,6 @@ ifneq (,$(findstring singlenode,,"@CLVMD@,"))
> endif
>
> ifeq ($(MAKECMDGOALS),distclean)
> - SOURCES += clvmd-gulm.c tcp-comms.c
> SOURCES += clvmd-cman.c
> SOURCES += clvmd-openais.c
> SOURCES += clvmd-corosync.c
> diff --git a/daemons/clvmd/clvmd-comms.h b/daemons/clvmd/clvmd-comms.h
> index fbcfe8b..500bd57 100644
> --- a/daemons/clvmd/clvmd-comms.h
> +++ b/daemons/clvmd/clvmd-comms.h
> @@ -54,13 +54,6 @@ struct cluster_ops {
>
> };
>
> -#ifdef USE_GULM
> -# include "tcp-comms.h"
> -struct cluster_ops *init_gulm_cluster(void);
> -#define MAX_CSID_LEN GULM_MAX_CSID_LEN
> -#define MAX_CLUSTER_MEMBER_NAME_LEN GULM_MAX_CLUSTER_MEMBER_NAME_LEN
> -#endif
> -
> #ifdef USE_CMAN
> # include<netinet/in.h>
> # include "libcman.h"
> diff --git a/daemons/clvmd/clvmd-gulm.c b/daemons/clvmd/clvmd-gulm.c
> deleted file mode 100644
> index 3561004..0000000
> diff --git a/daemons/clvmd/clvmd-gulm.h b/daemons/clvmd/clvmd-gulm.h
> deleted file mode 100644
> index 9416f5c..0000000
> diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
> index 703268f..07883ea 100644
> --- a/daemons/clvmd/clvmd.c
> +++ b/daemons/clvmd/clvmd.c
> @@ -78,7 +78,6 @@ struct lvm_thread_cmd {
> };
>
> struct lvm_startup_params {
> - int using_gulm;
> char **argv;
> };
>
> @@ -101,7 +100,7 @@ static int child_pipe[2];
> #define DFAIL_TIMEOUT 5
> #define SUCCESS 0
>
> -typedef enum {IF_AUTO, IF_CMAN, IF_GULM, IF_OPENAIS, IF_COROSYNC, IF_SINGLENODE} if_type_t;
> +typedef enum {IF_AUTO, IF_CMAN, IF_OPENAIS, IF_COROSYNC, IF_SINGLENODE} if_type_t;
>
> /* Prototypes for code further down */
> static void sigusr2_handler(int sig);
> @@ -166,9 +165,6 @@ static void usage(const char *prog, FILE *file)
> #ifdef USE_OPENAIS
> "openais "
> #endif
> -#ifdef USE_GULM
> - "gulm "
> -#endif
> #ifdef USE_SINGLENODE
> "singlenode "
> #endif
> @@ -342,7 +338,6 @@ int main(int argc, char *argv[])
> int start_timeout = 0;
> if_type_t cluster_iface = IF_AUTO;
> sigset_t ss;
> - int using_gulm = 0;
> int debug_opt = 0;
> debug_t debug_arg = DEBUG_OFF;
> int clusterwide_opt = 0;
> @@ -473,7 +468,7 @@ int main(int argc, char *argv[])
>
> /* Set up signal handlers, USR1 is for cluster change notifications (in cman)
> USR2 causes child threads to exit.
> - HUP causes gulm version to re-read nodes list from CCS.
> + HUP causes to re-read nodes list from CCS.
> PIPE should be ignored */
> signal(SIGUSR2, sigusr2_handler);
> signal(SIGHUP, sighup_handler);
> @@ -505,16 +500,6 @@ int main(int argc, char *argv[])
> syslog(LOG_NOTICE, "Cluster LVM daemon started - connected to CMAN");
> }
> #endif
> -#ifdef USE_GULM
> - if (!clops)
> - if ((cluster_iface == IF_AUTO || cluster_iface == IF_GULM)&& (clops = init_gulm_cluster())) {
> - max_csid_len = GULM_MAX_CSID_LEN;
> - max_cluster_message = GULM_MAX_CLUSTER_MESSAGE;
> - max_cluster_member_name_len = GULM_MAX_CLUSTER_MEMBER_NAME_LEN;
> - using_gulm = 1;
> - syslog(LOG_NOTICE, "Cluster LVM daemon started - connected to GULM");
> - }
> -#endif
> #ifdef USE_COROSYNC
> if (!clops)
> if (((cluster_iface == IF_AUTO || cluster_iface == IF_COROSYNC)&& (clops = init_corosync_cluster()))) {
> @@ -580,14 +565,10 @@ int main(int argc, char *argv[])
>
> /* Don't let anyone else to do work until we are started */
> pthread_mutex_lock(&lvm_start_mutex);
> - lvm_params.using_gulm = using_gulm;
> lvm_params.argv = argv;
> pthread_create(&lvm_thread, NULL, lvm_thread_fn,&lvm_params);
>
> /* Tell the rest of the cluster our version number */
> - /* CMAN can do this immediately, gulm needs to wait until
> - the core initialisation has finished and the node list
> - has been gathered */
> if (clops->cluster_init_completed)
> clops->cluster_init_completed();
>
> @@ -625,7 +606,7 @@ int main(int argc, char *argv[])
> return 0;
> }
>
> -/* Called when the GuLM cluster layer has completed initialisation.
> +/* Called when the cluster layer has completed initialisation.
> We send the version message */
> void clvmd_cluster_init_completed(void)
> {
> @@ -1965,7 +1946,7 @@ static void *lvm_thread_fn(void *arg)
> pthread_sigmask(SIG_BLOCK,&ss, NULL);
>
> /* Initialise the interface to liblvm */
> - init_clvm(lvm_params->using_gulm, lvm_params->argv);
> + init_clvm(lvm_params->argv);
>
> /* Allow others to get moving */
> pthread_mutex_unlock(&lvm_start_mutex);
> @@ -2222,8 +2203,6 @@ static if_type_t parse_cluster_interface(char *ifname)
> iface = IF_AUTO;
> if (!strcmp(ifname, "cman"))
> iface = IF_CMAN;
> - if (!strcmp(ifname, "gulm"))
> - iface = IF_GULM;
> if (!strcmp(ifname, "openais"))
> iface = IF_OPENAIS;
> if (!strcmp(ifname, "corosync"))
> diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
> index c10ce9d..d2c89d9 100644
> --- a/daemons/clvmd/lvm-functions.c
> +++ b/daemons/clvmd/lvm-functions.c
> @@ -650,46 +650,6 @@ int do_refresh_cache(void)
> return 0;
> }
>
> -
> -/* Only called at gulm startup. Drop any leftover VG or P_orphan locks
> - that might be hanging around if we died for any reason
> -*/
> -static void drop_vg_locks(void)
> -{
> - char vg[128];
> - char line[255];
> - FILE *vgs =
> - popen
> - (LVM_PATH " pvs --config 'log{command_names=0 prefix=\"\"}' --nolocking --noheadings -o vg_name", "r");
> -
> - sync_unlock("P_" VG_ORPHANS, LCK_EXCL);
> - sync_unlock("P_" VG_GLOBAL, LCK_EXCL);
> -
> - if (!vgs)
> - return;
> -
> - while (fgets(line, sizeof(line), vgs)) {
> - char *vgend;
> - char *vgstart;
> -
> - if (line[strlen(line)-1] == '\n')
> - line[strlen(line)-1] = '\0';
> -
> - vgstart = line + strspn(line, " ");
> - vgend = vgstart + strcspn(vgstart, " ");
> - *vgend = '\0';
> -
> - if (strncmp(vgstart, "WARNING:", 8) == 0)
> - continue;
> -
> - sprintf(vg, "V_%s", vgstart);
> - sync_unlock(vg, LCK_EXCL);
> -
> - }
> - if (fclose(vgs))
> - DEBUGLOG("vgs fclose failed: %s\n", strerror(errno));
> -}
> -
> /*
> * Handle VG lock - drop metadata or update lvmcache state
> */
> @@ -920,7 +880,7 @@ void lvm_do_fs_unlock(void)
> }
>
> /* Called to initialise the LVM context of the daemon */
> -int init_clvm(int using_gulm, char **argv)
> +int init_clvm(char **argv)
> {
> /* Use LOG_DAEMON for syslog messages instead of LOG_USER */
> init_syslog(LOG_DAEMON);
> @@ -942,10 +902,6 @@ int init_clvm(int using_gulm, char **argv)
> check_config();
> init_ignore_suspended_devices(1);
>
> - /* Remove any non-LV locks that may have been left around */
> - if (using_gulm)
> - drop_vg_locks();
> -
> get_initial_state(argv);
>
> /* Trap log messages so we can pass them back to the user */
> diff --git a/daemons/clvmd/lvm-functions.h b/daemons/clvmd/lvm-functions.h
> index a132f4a..f9c43b7 100644
> --- a/daemons/clvmd/lvm-functions.h
> +++ b/daemons/clvmd/lvm-functions.h
> @@ -27,7 +27,7 @@ extern int post_lock_lv(unsigned char lock_cmd, unsigned char lock_flags,
> char *resource);
> extern int do_check_lvm1(const char *vgname);
> extern int do_refresh_cache(void);
> -extern int init_clvm(int using_gulm, char **argv);
> +extern int init_clvm(char **argv);
> extern void destroy_lvm(void);
> extern void init_lvhash(void);
> extern void destroy_lvhash(void);
> diff --git a/daemons/clvmd/tcp-comms.c b/daemons/clvmd/tcp-comms.c
> deleted file mode 100644
> index 5f86556..0000000
> diff --git a/daemons/clvmd/tcp-comms.h b/daemons/clvmd/tcp-comms.h
> deleted file mode 100644
> index 9260e12..0000000
> diff --git a/lib/misc/configure.h.in b/lib/misc/configure.h.in
> index 65f6332..16e290a 100644
> --- a/lib/misc/configure.h.in
> +++ b/lib/misc/configure.h.in
> @@ -84,9 +84,6 @@
> /* Define to 1 if canonicalize_file_name is available. */
> #undef HAVE_CANONICALIZE_FILE_NAME
>
> -/* Define to 1 if you have the<ccs.h> header file. */
> -#undef HAVE_CCS_H
> -
> /* Define to 1 if your system has a working `chown' function. */
> #undef HAVE_CHOWN
>
> @@ -159,9 +156,6 @@
> /* Define to 1 if you have the<libgen.h> header file. */
> #undef HAVE_LIBGEN_H
>
> -/* Define to 1 if you have the<libgulm.h> header file. */
> -#undef HAVE_LIBGULM_H
> -
> /* Define to 1 if you have the<libintl.h> header file. */
> #undef HAVE_LIBINTL_H
>
More information about the lvm-devel
mailing list