summaryrefslogtreecommitdiffstats
path: root/source3/wscript
diff options
context:
space:
mode:
authorSam Lang <sam.lang@inktank.com>2013-04-24 12:52:57 -0700
committerJeremy Allison <jra@samba.org>2013-04-24 12:53:18 -0700
commit301a1f919202c90c629a4926ebdf054b9f2fe1e8 (patch)
tree054b23a5f7b5a400edcfbcdeb53a8edd29f18f03 /source3/wscript
parent4b97a19e584cb216194c5eca1270ef1926fc9006 (diff)
downloadsamba-301a1f919202c90c629a4926ebdf054b9f2fe1e8.tar.gz
samba-301a1f919202c90c629a4926ebdf054b9f2fe1e8.tar.xz
samba-301a1f919202c90c629a4926ebdf054b9f2fe1e8.zip
Implements a vfs module for cephfs, a distributed file system
with posix semantics, built on the ceph distributed object storage layer. The ceph vfs module interfaces to the libcephfs userspace API, and is primarily a lightweight wrapper around libcephfs, translating error codes and parameters as necessary. Signed-off-by: Sam Lang <sam.lang@inktank.com> Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/wscript')
-rw-r--r--source3/wscript15
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/wscript b/source3/wscript
index d687dae7b47..18e45f2ed65 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -54,6 +54,10 @@ def set_options(opt):
help=("enable building against (too) old version of ctdb (default=false)"),
action="store_true", dest='enable_old_ctdb', default=False)
+ opt.add_option('--with-libcephfs',
+ help=("Directory under which libcephfs is installed"),
+ action="store", dest='libcephfs_dir', default=None)
+
def configure(conf):
@@ -1699,6 +1703,14 @@ main() {
if conf.CHECK_HEADERS('linux/ioctl.h sys/ioctl.h'):
conf.DEFINE('HAVE_LINUX_IOCTL', '1')
+ conf.env['CCFLAGS_CEPHFS'] = "-D_FILE_OFFSET_BITS=64"
+ if Options.options.libcephfs_dir:
+ conf.env['CPPPATH_CEPHFS'] = Options.options.libcephfs_dir + '/include'
+ conf.env['LIBPATH_CEPHFS'] = Options.options.libcephfs_dir + '/lib'
+
+ if conf.CHECK_HEADERS('cephfs/libcephfs.h', False, False, 'cephfs') and conf.CHECK_LIB('cephfs'):
+ conf.DEFINE('HAVE_CEPH', '1')
+
default_static_modules.extend(TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam
auth_sam auth_unix auth_winbind auth_wbc
auth_domain auth_builtin vfs_default
@@ -1766,6 +1778,9 @@ main() {
if conf.CONFIG_SET('SAMBA_FAM_LIBS'):
default_shared_modules.extend(TO_LIST('vfs_notify_fam'))
+ if conf.CONFIG_SET("HAVE_CEPH"):
+ default_shared_modules.extend(TO_LIST('vfs_ceph'))
+
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')