summaryrefslogtreecommitdiff
path: root/source3/configure.in
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/configure.in
parent4b97a19e584cb216194c5eca1270ef1926fc9006 (diff)
downloadsamba-301a1f919202c90c629a4926ebdf054b9f2fe1e8.tar.gz
samba-301a1f919202c90c629a4926ebdf054b9f2fe1e8.tar.bz2
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/configure.in')
-rw-r--r--source3/configure.in31
1 files changed, 31 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 88c71d422f..d2aa215401 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1023,6 +1023,36 @@ if test x"$ac_cv_header_gpfs_gpl_h" = x"yes"; then
default_shared_modules="$default_shared_modules vfs_gpfs"
fi
+#############################
+# check if building with libcephfs
+# fail if --with-libcephfs specified but no headers found
+printf "%s" "checking for CephFS... "
+AC_CHECK_HEADERS(cephfs/libcephfs.h)
+
+save_LIBS="$LIBS"
+LIBS="$LIBS -lcephfs"
+AC_TRY_LINK([#include <cephfs/libcephfs.h>],
+ [ceph_version(0, 0, 0)],
+ samba_cv_HAVE_CEPHFS=yes,
+ samba_cv_HAVE_CEPHFS=no
+ )
+
+if test x"$ac_cv_header_cephfs_libcephfs_h" = x"yes" && test x"$samba_cv_HAVE_CEPHFS" = x"yes"; then
+ AC_DEFINE(HAVE_CEPH, 1, [Whether CEPH headers are available])
+ default_shared_modules="$default_shared_modules vfs_ceph"
+ save_CFLAGS="$CFLAGS"
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$save_LIBS -lcephfs"
+else
+ if test x"$CEPHFS_PATH_SPEC" = x"yes"; then
+ AC_MSG_ERROR([No valid libcephfs found in ${CEPHFS_PATH}])
+ fi
+fi
+
+CFLAGS="$save_CFLAGS"
+LDFLAGS="$save_LDFLAGS"
+LIBS="$save_LIBS"
+
# Note that all the libunwind symbols in the API are defined to internal
# platform-specific version, so we must include libunwind.h before checking
# any of them.
@@ -6455,6 +6485,7 @@ SMB_MODULE(vfs_linux_xfs_sgid, \$(VFS_LINUX_XFS_SGID_OBJ), "bin/linux_xfs_sgid.$
SMB_MODULE(vfs_time_audit, \$(VFS_TIME_AUDIT_OBJ), "bin/time_audit.$SHLIBEXT", VFS)
SMB_MODULE(vfs_media_harmony, \$(VFS_MEDIA_HARMONY_OBJ), "bin/media_harmony.$SHLIBEXT", VFS)
SMB_MODULE(vfs_btrfs, \$(VFS_BTRFS_OBJ), "bin/btrfs.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_ceph, \$(VFS_CEPH_OBJ), "bin/ceph.$SHLIBEXT", VFS)
SMB_SUBSYSTEM(VFS,smbd/vfs.o)