diff options
author | Sam Lang <sam.lang@inktank.com> | 2013-04-24 12:52:57 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-04-24 12:53:18 -0700 |
commit | 301a1f919202c90c629a4926ebdf054b9f2fe1e8 (patch) | |
tree | 054b23a5f7b5a400edcfbcdeb53a8edd29f18f03 /source3/configure.in | |
parent | 4b97a19e584cb216194c5eca1270ef1926fc9006 (diff) | |
download | samba-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.in | 31 |
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) |