From 301a1f919202c90c629a4926ebdf054b9f2fe1e8 Mon Sep 17 00:00:00 2001 From: Sam Lang Date: Wed, 24 Apr 2013 12:52:57 -0700 Subject: 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 Reviewed-by: Volker Lendecke Reviewed-by: Jeremy Allison --- source3/wscript | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'source3/wscript') 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=',') -- cgit