build: export minimum symbols from xlators for correct resolution

We've been lucky that we haven't had any symbol collisions until now.
Now we have a collision between the snapview-client's svc_lookup() and
libntirpc's svc_lookup() with nfs-ganesha's FSAL_GLUSTER and libgfapi.

As a short term solution all the snapview-client's FOP methods were
changed to static scope. See http://review.gluster.org/11805. This
works in snapview-client because all the FOP methods are defined in
a single source file. This solution doesn't work for other xlators
with FOP methods defined in multiple source files.

To address this we link with libtool's '-export-symbols $symbol-file'
(a wrapper around `ld --version-script ...` --- on linux anyway) and
only export the minimum required symbols from the xlator sharedlib.

N.B. the libtool man page says that the symbol file should be named
foo.sym, thus the rename of *.exports to *.sym. While foo.exports
worked, we will follow the documentation.

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
BUG: 1248669
Change-Id: I1de68b3e3be58ae690d8bfb2168bfc019983627c
Reviewed-on: http://review.gluster.org/11814
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: soumya k <skoduri@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY 2015-07-31 14:11:15 -04:00 committed by Niels de Vos
parent 84367f0c91
commit 1d82db506d
66 changed files with 250 additions and 65 deletions

View File

@ -29,7 +29,7 @@ $(install_xlatorLTLIBRARIES): install-libLTLIBRARIES
api_la_SOURCES = glfs-master.c
api_la_DEPENDENCIES = libgfapi.la
api_la_LDFLAGS = -module -avoid-version
api_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
api_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
$(top_builddir)/rpc/xdr/src/libgfxdr.la \

View File

@ -1279,6 +1279,8 @@ AC_SUBST(CFLAGS)
dnl libglusterfs.so uses math functions
GF_LDADD="${GF_LDADD} ${MATH_LIB}"
GF_XLATOR_DEFAULT_LDFLAGS='-module -avoid-version -export-symbols $(top_srcdir)/xlators/xlator.sym'
AC_SUBST(GF_HOST_OS)
AC_SUBST(GF_CFLAGS)
AC_SUBST(GF_LDFLAGS)
@ -1289,6 +1291,7 @@ AC_SUBST(RLLIBS)
AC_SUBST(LIBAIO)
AC_SUBST(AM_MAKEFLAGS)
AC_SUBST(AM_LIBTOOLFLAGS)
AC_SUBST(GF_XLATOR_DEFAULT_LDFLAGS)
CONTRIBDIR='$(top_srcdir)/contrib'
AC_SUBST(CONTRIBDIR)

View File

@ -1,4 +1,6 @@
SUBDIRS = cluster storage protocol performance debug features encryption mount nfs mgmt system \
playground meta
EXTRA_DIST = xlator.sym
CLEANFILES =

View File

@ -10,11 +10,11 @@ AFR_SELFHEAL_SOURCES = afr-self-heal-common.c afr-self-heal-data.c \
afr-self-heal-entry.c afr-self-heal-metadata.c afr-self-heald.c \
afr-self-heal-name.c
afr_la_LDFLAGS = -module -avoid-version
afr_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
afr_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) afr.c
afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
pump_la_LDFLAGS = -module -avoid-version
pump_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
pump_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) pump.c
pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -18,17 +18,16 @@ nufa_la_SOURCES = $(dht_common_source) nufa.c
switch_la_SOURCES = $(dht_common_source) switch.c
tier_la_SOURCES = $(dht_common_source) tier.c
dht_la_LDFLAGS = -module -avoid-version
dht_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/dht.sym
dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
nufa_la_LDFLAGS = -module -avoid-version
nufa_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/nufa.sym
nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
switch_la_LDFLAGS = -module -avoid-version
switch_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/switch.sym
switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
tier_la_LDFLAGS = -module -avoid-version
tier_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/tier.sym
tier_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h dht-helper.h tier.h\
@ -43,6 +42,8 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
CLEANFILES =
EXTRA_DIST = dht.sym nufa.sym switch.sym tier.sym
uninstall-local:
rm -f $(DESTDIR)$(xlatordir)/distribute.so

View File

@ -0,0 +1,8 @@
fops
cbks
class_methods
dht_methods
options
mem_acct_init
reconfigure
dumpops

View File

@ -0,0 +1,8 @@
fops
cbks
class_methods
dht_methods
options
mem_acct_init
reconfigure
dumpops

View File

@ -0,0 +1,8 @@
fops
cbks
class_methods
dht_methods
options
mem_acct_init
reconfigure
dumpops

View File

@ -0,0 +1,9 @@
fops
cbks
class_methods
dht_methods
tier_methods
options
mem_acct_init
reconfigure
dumpops

View File

@ -33,7 +33,7 @@ ec_ext_sources = $(top_builddir)/xlators/lib/src/libxlator.c
ec_ext_headers = $(top_builddir)/xlators/lib/src/libxlator.h
ec_la_LDFLAGS = -module -avoid-version
ec_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
ec_la_SOURCES = $(ec_sources) $(ec_headers) $(ec_ext_sources) $(ec_ext_headers)
ec_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,8 @@
xlator_LTLIBRARIES = ha.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/cluster
ha_la_LDFLAGS = -module -avoid-version
ha_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
ha_la_SOURCES = ha-helpers.c ha.c
ha_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,8 @@
xlator_LTLIBRARIES = map.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/cluster
map_la_LDFLAGS = -module -avoid-version
map_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
map_la_SOURCES = map.c map-helper.c
map_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,8 @@
xlator_LTLIBRARIES = stripe.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster
stripe_la_LDFLAGS = -module -avoid-version
stripe_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
stripe_la_SOURCES = stripe.c stripe-helpers.c \
$(top_builddir)/xlators/lib/src/libxlator.c

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = error-gen.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
error_gen_la_LDFLAGS = -module -avoid-version
error_gen_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
error_gen_la_SOURCES = error-gen.c
error_gen_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = io-stats.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
io_stats_la_LDFLAGS = -module -avoid-version
io_stats_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_stats_la_SOURCES = io-stats.c
io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = trace.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
trace_la_LDFLAGS = -module -avoid-version
trace_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
trace_la_SOURCES = trace.c
trace_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -3,7 +3,7 @@ if ENABLE_CRYPT_XLATOR
xlator_LTLIBRARIES = crypt.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
crypt_la_LDFLAGS = -module -avoid-version
crypt_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c
crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = rot-13.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
rot_13_la_LDFLAGS = -module -avoid-version
rot_13_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
rot_13_la_SOURCES = rot-13.c
rot_13_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = arbiter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
arbiter_la_LDFLAGS = -module -avoid-version
arbiter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
arbiter_la_SOURCES = arbiter.c
arbiter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = barrier.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
barrier_la_LDFLAGS = -module -avoid-version
barrier_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
barrier_la_SOURCES = barrier.c

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = bit-rot.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
bit_rot_la_LDFLAGS = -module -avoid-version
bit_rot_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
-I$(top_srcdir)/rpc/xdr/src/ \

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = bitrot-stub.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
bitrot_stub_la_LDFLAGS = -module -avoid-version
bitrot_stub_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
bitrot_stub_la_SOURCES = bit-rot-stub.c
bitrot_stub_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -7,7 +7,7 @@ noinst_HEADERS = changelog-helpers.h changelog-mem-types.h changelog-rt.h \
changelog-rpc-common.h changelog-rpc.h changelog-ev-handle.h \
changelog-messages.h
changelog_la_LDFLAGS = -module -avoid-version
changelog_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
changelog_la_SOURCES = changelog.c changelog-rt.c changelog-helpers.c \
changelog-encoders.c changelog-rpc.c changelog-barrier.c \

View File

@ -5,7 +5,7 @@ if BUILD_GFDB
xlator_LTLIBRARIES = changetimerecorder.la
endif
changetimerecorder_la_LDFLAGS = -module -avoid-version
changetimerecorder_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
changetimerecorder_la_SOURCES = changetimerecorder.c ctr-helper.c ctr-xlator-ctx.c

View File

@ -4,7 +4,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = cdc.h cdc-mem-types.h
cdc_la_LDFLAGS = -module -avoid-version
cdc_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
cdc_la_SOURCES = cdc.c cdc-helper.c
cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(ZLIB_LIBS)

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = filter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
filter_la_LDFLAGS = -module -avoid-version
filter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
filter_la_SOURCES = filter.c
filter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -4,7 +4,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = ganesha.h ganesha-mem-types.h
ganesha_la_LDFLAGS = -module -avoid-version
ganesha_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
ganesha_la_SOURCES = ganesha.c

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = gfid-access.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
gfid_access_la_LDFLAGS = -module -avoid-version
gfid_access_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
gfid_access_la_SOURCES = gfid-access.c
gfid_access_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -7,7 +7,7 @@ AM_CPPFLAGS = $(PYTHONDEV_CPPFLAGS) $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/
AM_CFLAGS = $(PYTHONDEV_CFLAGS) -Wall -fno-strict-aliasing -DGLUSTER_PYTHON_PATH=\"$(glupydir)\" -DPATH_GLUSTERFS_GLUPY_MODULE=\"${xlatordir}/glupy${shrext_cmds}\" $(GF_CFLAGS)
# Flags to build glupy.so with
glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version -nostartfiles
glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version -nostartfiles -export-symbols $(top_srcdir)/xlators/features/glupy/src/glupy.sym
glupy_la_SOURCES = glupy.c
glupy_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
-lpthread -l$(BUILD_PYTHON_LIB)
@ -22,3 +22,5 @@ pyglupy_PYTHON = __init__.py
SUBDIRS = glupy
CLEANFILES =
EXTRA_DIST = glupy.sym

View File

@ -0,0 +1,101 @@
init
fini
fops
cbks
options
notify
mem_acct_init
reconfigure
dumpops
set_lookup_fop
set_lookup_cbk
set_create_fop
set_create_cbk
set_open_fop
set_open_cbk
set_readv_fop
set_readv_cbk
set_writev_fop
set_writev_cbk
set_opendir_fop
set_opendir_cbk
set_readdir_fop
set_readdir_cbk
set_readdirp_fop
set_readdirp_cbk
set_stat_fop
set_stat_cbk
set_fstat_fop
set_fstat_cbk
set_statfs_fop
set_statfs_cbk
set_setxattr_fop
set_setxattr_cbk
set_getxattr_fop
set_getxattr_cbk
set_fsetxattr_fop
set_fsetxattr_cbk
set_fgetxattr_fop
set_fgetxattr_cbk
set_removexattr_fop
set_removexattr_cbk
set_fremovexattr_fop
set_fremovexattr_cbk
set_link_fop
set_link_cbk
set_symlink_fop
set_symlink_cbk
set_readlink_fop
set_readlink_cbk
set_unlink_fop
set_unlink_cbk
set_mkdir_fop
set_mkdir_cbk
set_rmdir_fop
set_rmdir_cbk
wind_lookup
wind_create
wind_open
wind_readv
wind_writev
wind_opendir
wind_readdir
wind_readdirp
wind_stat
wind_fstat
wind_statfs
wind_setxattr
wind_getxattr
wind_fsetxattr
wind_fgetxattr
wind_removexattr
wind_fremovexattr
wind_link
wind_symlink
wind_readlink
wind_unlink
wind_mkdir
wind_rmdir
unwind_lookup
unwind_create
unwind_open
unwind_readv
unwind_writev
unwind_opendir
unwind_readdir
unwind_readdirp
unwind_stat
unwind_fstat
unwind_statfs
unwind_setxattr
unwind_getxattr
unwind_fsetxattr
unwind_fgetxattr
unwind_removexattr
unwind_fremovexattr
unwind_link
unwind_symlink
unwind_readlink
unwind_unlink
unwind_mkdir
unwind_rmdir

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = index.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
index_la_LDFLAGS = -module -avoid-version
index_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
index_la_SOURCES = index.c
index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = locks.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
locks_la_LDFLAGS = -module -avoid-version
locks_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
locks_la_SOURCES = common.c posix.c entrylk.c inodelk.c reservelk.c \
clear.c

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = mac-compat.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
mac_compat_la_LDFLAGS = -module -avoid-version
mac_compat_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
mac_compat_la_SOURCES = mac-compat.c
mac_compat_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = marker.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
marker_la_LDFLAGS = -module -avoid-version
marker_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c marker-common.c
marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = path-converter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
path_converter_la_LDFLAGS = -module -avoid-version
path_converter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
path_converter_la_SOURCES = path.c
path_converter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -2,15 +2,15 @@ xlator_LTLIBRARIES = prot_dht.la prot_client.la prot_server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
prot_dht_la_LDFLAGS = -module -avoid-version
prot_dht_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_dht_la_SOURCES = prot_dht.c
prot_dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
prot_client_la_LDFLAGS = -module -avoid-version
prot_client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_client_la_SOURCES = prot_client.c
prot_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
prot_server_la_LDFLAGS = -module -avoid-version
prot_server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_server_la_SOURCES = prot_server.c
prot_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = quiesce.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
quiesce_la_LDFLAGS = -module -avoid-version
quiesce_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
quiesce_la_SOURCES = quiesce.c
quiesce_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,8 +1,8 @@
xlator_LTLIBRARIES = quota.la quotad.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
quota_la_LDFLAGS = -module -avoid-version
quotad_la_LDFLAGS = -module -avoid-version
quota_la_LDFLAGS = $(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
@ -21,3 +21,5 @@ AM_CFLAGS = -Wall $(GF_CFLAGS)
CLEANFILES =
EXTRA_DIST = quotad.sym

View File

@ -0,0 +1,7 @@
fops
cbks
class_methods
options
mem_acct_init
reconfigure
dumpops

View File

@ -4,12 +4,12 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = read-only.h read-only-mem-types.h read-only-common.h
read_only_la_LDFLAGS = -module -avoid-version
read_only_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
read_only_la_SOURCES = read-only.c read-only-common.c
read_only_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
worm_la_LDFLAGS = -module -avoid-version
worm_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
worm_la_SOURCES = read-only-common.c worm.c
worm_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = shard.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
shard_la_LDFLAGS = -module -avoid-version
shard_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
shard_la_SOURCES = shard.c

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = snapview-client.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
snapview_client_la_LDFLAGS = -module -avoid-version
snapview_client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
snapview_client_la_SOURCES = snapview-client.c
snapview_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = snapview-server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
snapview_server_la_LDFLAGS = -module -avoid-version
snapview_server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
snapview_server_la_SOURCES = snapview-server.c snapview-server-mgmt.c snapview-server-helpers.c
snapview_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la\

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = trash.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
trash_la_LDFLAGS = -module -avoid-version
trash_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
trash_la_SOURCES = trash.c
trash_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = upcall.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
upcall_la_LDFLAGS = -module -avoid-version
upcall_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
upcall_la_SOURCES = upcall.c upcall-internal.c

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = meta.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator
meta_la_LDFLAGS = -module -avoid-version
meta_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
meta_la_SOURCES = meta.c meta-helpers.c meta-defaults.c \
root-dir.c \

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = glusterd.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt
glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) "-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\""
glusterd_la_LDFLAGS = -module -avoid-version
glusterd_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
glusterd_la_SOURCES = glusterd.c glusterd-handler.c glusterd-sm.c \
glusterd-op-sm.c glusterd-utils.c glusterd-rpc-ops.c \
glusterd-store.c glusterd-handshake.c glusterd-pmap.c \

View File

@ -26,7 +26,7 @@ endif
fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \
$(CONTRIBDIR)/fuse-lib/misc.c $(mount_source)
fuse_la_LDFLAGS = -module -avoid-version
fuse_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
fuse_la_LIBADD = $(GF_LDADD) @GF_FUSE_LDADD@
AM_CPPFLAGS = $(GF_CPPFLAGS) \

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src
server_la_LDFLAGS = -module -avoid-version
server_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/nfs/server/src/nfsserver.sym
server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \
nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \
nlmcbk_svc.c mount3udp_svc.c acl3.c netgroups.c exports.c \
@ -25,3 +25,5 @@ AM_CFLAGS = -Wall $(GF_CFLAGS)
AM_LDFLAGS = -L$(xlatordir)
CLEANFILES =
EXTRA_DIST = nfsserver.sym

View File

@ -0,0 +1,20 @@
init
fini
fops
cbks
options
notify
mem_acct_init
reconfigure
dumpops
exp_file_parse
exp_file_print
exp_file_get_dir
exp_dir_get_host
exp_dir_get_netgroup
exp_file_dir_from_uuid
exp_file_deinit
ng_file_parse
ng_file_get_netgroup
ng_file_print
ng_file_deinit

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = io-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
io_cache_la_LDFLAGS = -module -avoid-version
io_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_cache_la_SOURCES = io-cache.c page.c ioc-inode.c
io_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = io-threads.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
io_threads_la_LDFLAGS = -module -avoid-version
io_threads_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_threads_la_SOURCES = io-threads.c
io_threads_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = md-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
md_cache_la_LDFLAGS = -module -avoid-version
md_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
md_cache_la_SOURCES = md-cache.c
md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = open-behind.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
open_behind_la_LDFLAGS = -module -avoid-version
open_behind_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
open_behind_la_SOURCES = open-behind.c
open_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = quick-read.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
quick_read_la_LDFLAGS = -module -avoid-version
quick_read_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
quick_read_la_SOURCES = quick-read.c
quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = read-ahead.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
read_ahead_la_LDFLAGS = -module -avoid-version
read_ahead_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
read_ahead_la_SOURCES = read-ahead.c page.c
read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = readdir-ahead.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
readdir_ahead_la_LDFLAGS = -module -avoid-version
readdir_ahead_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
readdir_ahead_la_SOURCES = readdir-ahead.c
readdir_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = symlink-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/performance
symlink_cache_la_LDFLAGS = -module -avoid-version
symlink_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
symlink_cache_la_SOURCES = symlink-cache.c
symlink_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = write-behind.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
write_behind_la_LDFLAGS = -module -avoid-version
write_behind_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
write_behind_la_SOURCES = write-behind.c
write_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = template.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
template_la_LDFLAGS = -module -avoid-version
template_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
template_la_SOURCES = template.c
template_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = client.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
client_la_LDFLAGS = -module -avoid-version
client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \

View File

@ -1,7 +1,7 @@
xlator_LTLIBRARIES = server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
server_la_LDFLAGS = -module -avoid-version
server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \

View File

@ -2,7 +2,7 @@ if ENABLE_BD_XLATOR
xlator_LTLIBRARIES = bd.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
bd_la_LDFLAGS = -module -avoid-version
bd_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
LIBBD = -llvm2app -lrt
bd_la_SOURCES = bd.c bd-helper.c bd-aio.c
bd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBBD) $(LIBAIO)

View File

@ -2,7 +2,7 @@
xlator_LTLIBRARIES = posix.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
posix_la_LDFLAGS = -module -avoid-version
posix_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c
posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO) \

View File

@ -1,6 +1,6 @@
xlator_LTLIBRARIES = posix-acl.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/system
posix_acl_la_LDFLAGS = -module -avoid-version
posix_acl_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
posix_acl_la_SOURCES = posix-acl.c posix-acl-xattr.c
posix_acl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

9
xlators/xlator.sym Normal file
View File

@ -0,0 +1,9 @@
init
fini
fops
cbks
options
notify
mem_acct_init
reconfigure
dumpops