From 0b8b6fdc96f59895536d16de43a1494c5eef5c67 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Wed, 29 May 2013 07:21:46 -0400 Subject: vfs_glusterfs: Samba VFS module for glusterfs Implement a Samba VFS plugin for glusterfs based on gluster's gfapi. This is a "bottom" vfs plugin (not something to be stacked on top of another module), and translates (most) calls into closest actions on gfapi. Reviewed-by: Andrew Bartlett Reviewed-by: Simo Sorce Signed-off-by: Anand Avati --- source3/wscript | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'source3/wscript') diff --git a/source3/wscript b/source3/wscript index dba6cdc869..98a486f4c7 100644 --- a/source3/wscript +++ b/source3/wscript @@ -59,6 +59,7 @@ def set_options(opt): help=("Directory under which libcephfs is installed"), action="store", dest='libcephfs_dir', default=None) + opt.SAMBA3_ADD_OPTION('glusterfs', with_name="enable", without_name="disable", default=True) def configure(conf): @@ -1709,6 +1710,21 @@ main() { if conf.CHECK_HEADERS('cephfs/libcephfs.h', False, False, 'cephfs') and conf.CHECK_LIB('cephfs'): conf.DEFINE('HAVE_CEPH', '1') + if Options.options.with_glusterfs: + conf.check_cfg(package='glusterfs-api', args='"glusterfs-api >= 4" --cflags --libs', + msg='Checking for glusterfs-api >= 4', uselib_store="GFAPI") + conf.CHECK_HEADERS('api/glfs.h', lib='gfapi') + conf.CHECK_LIB('gfapi', shlib=True) + + if conf.CONFIG_SET('HAVE_API_GLFS_H'): + conf.DEFINE('HAVE_GLUSTERFS', '1') + else: + conf.SET_TARGET_TYPE('gfapi', 'EMPTY') + conf.undefine('HAVE_GLUSTERFS') + else: + conf.SET_TARGET_TYPE('gfapi', 'EMPTY') + conf.undefine('HAVE_GLUSTERFS') + conf.env.build_regedit = False if not Options.options.with_regedit == False: conf.PROCESS_SEPARATE_RULE('system_ncurses') @@ -1797,6 +1813,9 @@ main() { if conf.CONFIG_SET("HAVE_CEPH"): default_shared_modules.extend(TO_LIST('vfs_ceph')) + if conf.CONFIG_SET('HAVE_GLUSTERFS'): + default_shared_modules.extend(TO_LIST('vfs_glusterfs')) + explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',') explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',') -- cgit