diff options
author | Kotresh HR <khiremat@redhat.com> | 2015-03-30 17:44:50 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-02 03:06:58 -0700 |
commit | 4a339be28a715aa22d8d07b3137920edea8a1c4a (patch) | |
tree | 9bc3164bd53de41387168dedc0c70a276af2b9be | |
parent | 7616738176f44cce8b6cfb0e1f65be8e1dc72f49 (diff) |
geo-rep: Copy geo-rep hook-script during source install
The hook-script S56glusterd-geo-rep-create-post.sh was not
copying to glusterd working directory when geo-rep is
installed through source. Hence the geo-rep create fails
unless the script is manually copied. This patch addresses
the issue by copying the hook-script during make install.
Change-Id: I185a877ed720e8300f0e888ab481d0c8c23bf815
BUG: 1207201
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/10051
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | extras/hook-scripts/Makefile.am | 3 | ||||
-rw-r--r-- | glusterfs.spec.in | 4 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.c | 19 |
3 files changed, 13 insertions, 13 deletions
diff --git a/extras/hook-scripts/Makefile.am b/extras/hook-scripts/Makefile.am index 4a1adb3d5db..fa126f90591 100644 --- a/extras/hook-scripts/Makefile.am +++ b/extras/hook-scripts/Makefile.am @@ -1,2 +1,5 @@ EXTRA_DIST = S40ufo-stop.py S56glusterd-geo-rep-create-post.sh SUBDIRS = add-brick set start stop reset + +scriptsdir = $(GLUSTERD_WORKDIR)/hooks/1/gsync-create/post/ +scripts_SCRIPTS = S56glusterd-geo-rep-create-post.sh diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 9390bb24137..53b0c8ed602 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -711,10 +711,6 @@ mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid -%if ( 0%{!?_without_georeplication:1} ) -install -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \ - %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post -%endif %{__install} -p -m 0744 extras/hook-scripts/start/post/*.sh \ %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post %{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh \ diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index dc4293dcc07..550cae456a3 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -1258,7 +1258,6 @@ init (xlator_t *this) struct stat buf = {0,}; char storedir [PATH_MAX] = {0,}; char workdir [PATH_MAX] = {0,}; - char hooks_dir [PATH_MAX] = {0,}; char cmd_log_filename [PATH_MAX] = {0,}; int first_time = 0; char *mountbroker_root = NULL; @@ -1593,14 +1592,16 @@ init (xlator_t *this) glusterd_mgmt_v3_lock_init (); glusterd_txn_opinfo_dict_init (); - GLUSTERD_GET_HOOKS_DIR (hooks_dir, GLUSTERD_HOOK_VER, conf); - if (stat (hooks_dir, &buf)) { - ret = glusterd_hooks_create_hooks_directory (conf->workdir); - if (-1 == ret) { - gf_log (this->name, GF_LOG_CRITICAL, - "Unable to create hooks directory "); - exit (1); - } + /* Make install copies few of the hook-scripts by creating hooks + * directory. Hence purposefully not doing the check for the presence of + * hooks directory. Doing so avoids creation of complete hooks directory + * tree. + */ + ret = glusterd_hooks_create_hooks_directory (conf->workdir); + if (-1 == ret) { + gf_log (this->name, GF_LOG_CRITICAL, + "Unable to create hooks directory "); + exit (1); } CDS_INIT_LIST_HEAD (&conf->mount_specs); |