diff options
author | Prashanth Pai <ppai@redhat.com> | 2017-06-30 15:52:53 +0530 |
---|---|---|
committer | Jeff Darcy <jeff@pl.atyp.us> | 2017-07-03 10:58:14 +0000 |
commit | 97a08698058962a4ddc783008c92ee94f08740a9 (patch) | |
tree | 31e0a7265a42aa5d835bde962bc8131636e665ed /xlators | |
parent | 5a67bc07db128782024ccb7c8ec3a35a8542e540 (diff) |
Link against missed libraries to resolve symbols
When external programs perform a dlopen("..so", RTLD_LAZY|RTLD_LOCAL)
on some shared objects like xlators, it can fail with dlerror set to
error string "undefined symbol <some-type>".
This was observed for the following shared objects: fuse.so, quota.so,
quotad.so, server.so, libgfrpc.so and socket.so
P.S: This was found while running a go program which fetches the list
of xlator options (volume_option_t) from xlator's shared object.
BUG: 1193929
Change-Id: I7b958409cf11fb67c2be32a3f85a96fb1260236b
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: https://review.gluster.org/17659
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/features/quota/src/Makefile.am | 6 | ||||
-rw-r--r-- | xlators/mount/fuse/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/protocol/server/src/server.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am index f261aaff8a1..6c1372b4421 100644 --- a/xlators/features/quota/src/Makefile.am +++ b/xlators/features/quota/src/Makefile.am @@ -5,10 +5,12 @@ quota_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) quotad_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/features/quota/src/quotad.sym quota_la_SOURCES = quota.c quota-enforcer-client.c -quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ + $(top_builddir)/rpc/xdr/src/libgfxdr.la quotad_la_SOURCES = quotad.c quotad-helpers.c quotad-aggregator.c -quotad_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +quotad_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ + $(top_builddir)/rpc/xdr/src/libgfxdr.la noinst_HEADERS = quota-mem-types.h quota.h quotad-aggregator.h \ quotad-helpers.h quota-messages.h diff --git a/xlators/mount/fuse/src/Makefile.am b/xlators/mount/fuse/src/Makefile.am index 9392dec9d86..7018cad37f6 100644 --- a/xlators/mount/fuse/src/Makefile.am +++ b/xlators/mount/fuse/src/Makefile.am @@ -27,7 +27,7 @@ fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \ $(CONTRIBDIR)/fuse-lib/misc.c $(mount_source) fuse_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS) -fuse_la_LIBADD = $(GF_LDADD) @GF_FUSE_LDADD@ +fuse_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(GF_LDADD) @GF_FUSE_LDADD@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \ -I$(top_srcdir)/rpc/xdr/src -I$(top_builddir)/rpc/xdr/src \ diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 4d89fe89b2c..b714d54dc97 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -1562,7 +1562,7 @@ notify (xlator_t *this, int32_t event, void *data, ...) UNLOCK (&ctx->volfile_lock); if (victim_found) (*trav_p) = (*trav_p)->next; - glusterfs_mgmt_pmap_signout (glusterfsd_ctx, + glusterfs_mgmt_pmap_signout (ctx, victim->name); glusterfs_autoscale_threads (THIS->ctx, -1); default_notify (victim, GF_EVENT_CLEANUP, data); |