From 5dd1ecae7519f9d3910962d310356e07902a8fd0 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee Date: Thu, 19 Nov 2015 12:00:23 +0530 Subject: core : Use correct path in dlopen for socket.so This patch fixes the path for socket.so file while loading the so dynamically. Also for config.memory-accounting & config.transport voltype is changed to glusterd to fix the warning message coming from xlator_volopt_dynload Change-Id: I0f7964814586f2018d4922b23c683f4e1eb3098e BUG: 1283485 Signed-off-by: Atin Mukherjee Reviewed-on: http://review.gluster.org/12656 Tested-by: Gluster Build System Reviewed-by: Niels de Vos Reviewed-by: Jeff Darcy --- libglusterfs/src/Makefile.am | 1 + libglusterfs/src/xlator.c | 7 ++++++- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am index 1b3a5572c8b..46e2e021134 100644 --- a/libglusterfs/src/Makefile.am +++ b/libglusterfs/src/Makefile.am @@ -5,6 +5,7 @@ libglusterfs_la_CFLAGS = $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) \ libglusterfs_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE_OFFSET64 \ -DXLATORDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator\" \ + -DXLATORPARENTDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)\" \ -I$(top_srcdir)/rpc/rpc-lib/src/ -I$(CONTRIBDIR)/rbtree \ -I$(CONTRIBDIR)/libexecinfo ${ARGP_STANDALONE_CPPFLAGS} \ -DSBIN_DIR=\"$(sbindir)\" -I$(CONTRIBDIR)/timer-wheel diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index ed120d23a8f..0712742360a 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -123,7 +123,12 @@ xlator_volopt_dynload (char *xlator_type, void **dl_handle, GF_VALIDATE_OR_GOTO ("xlator", xlator_type, out); - ret = gf_asprintf (&name, "%s/%s.so", XLATORDIR, xlator_type); + /* socket.so doesn't fall under the default xlator directory, hence we + * need this check */ + if (!strstr(xlator_type, "rpc-transport")) + ret = gf_asprintf (&name, "%s/%s.so", XLATORDIR, xlator_type); + else + ret = gf_asprintf (&name, "%s/%s.so", XLATORPARENTDIR, xlator_type); if (-1 == ret) { goto out; } diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 6535245587b..b085e4dbbe3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1889,13 +1889,13 @@ struct volopt_map_entry glusterd_volopt_map[] = { .op_version = 3 }, { .key = "config.memory-accounting", - .voltype = "configuration", + .voltype = "mgmt/glusterd", .option = "!config", .op_version = 2, .flags = OPT_FLAG_CLIENT_OPT }, { .key = "config.transport", - .voltype = "configuration", + .voltype = "mgmt/glusterd", .option = "!config", .op_version = 2 }, -- cgit