[AC_DEFINE([HAVE_LIBAIO], [1], [Defined if you don't have atomic_ops])])
AM_CONDITIONAL(WITH_LIBAIO, [ test "$with_libaio" = "yes" ])
+# use libxfs?
+AC_ARG_WITH([libxfs],
+ [AS_HELP_STRING([--without-libxfs], [disable libxfs use by FileStore])],
+ [],
+ [with_libxfs=yes])
+AS_IF([test "x$with_libxfs" != "xno"], [
+ # xfs/xfs.h presence and XFS_XFLAG_EXTSIZE define
+ AC_CHECK_HEADER([xfs/xfs.h], [], AC_MSG_ERROR(
+ [xfs/xfs.h not found (--without-libxfs to disable)]))
+ AC_MSG_CHECKING([for XFS_XFLAG_EXTSIZE in xfs/xfs.h])
+ AC_EGREP_CPP([yes_have_xfs_xflag_extsize], [
+ #include <xfs/xfs.h>
+ #ifdef XFS_XFLAG_EXTSIZE
+ yes_have_xfs_xflag_extsize
+ #endif
+ ], [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_LIBXFS], [1], [Define to 1 if you have libxfs])
+ ], [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([XFS_XFLAG_EXTSIZE not found (--without-libxfs to disable)])
+ ])
+])
+AM_CONDITIONAL(WITH_LIBXFS, [test "x$with_libxfs" != "xno"])
+
# use libzfs
AC_ARG_WITH([libzfs],
[AS_HELP_STRING([--with-libzfs], [build ZFS support])],
AC_MSG_NOTICE([F_SETPIPE_SZ not found, zero-copy may be less efficent])
])
-# XFS_XFLAG_EXTSIZE in xfs/xfs.h on Linux
-AS_IF([test "x$linux" = "xyes"], [
- AC_CHECK_HEADER([xfs/xfs.h], [], AC_MSG_ERROR([xfs/xfs.h not found]))
- AC_MSG_CHECKING([for XFS_XFLAG_EXTSIZE in xfs/xfs.h])
- AC_EGREP_CPP([yes_have_xfs_xflag_extsize], [
- #include <xfs/xfs.h>
- #ifdef XFS_XFLAG_EXTSIZE
- yes_have_xfs_xflag_extsize
- #endif
- ], AC_MSG_RESULT([yes]), [
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([XFS_XFLAG_EXTSIZE not found])
- ])
-])
-
AC_CHECK_FUNCS([posix_fallocate])
AC_CHECK_HEADERS([sys/prctl.h])
AC_CHECK_FUNCS([prctl])
backend = new BtrfsFileStoreBackend(this);
#endif
} else if (basefs.f_type == XFS_SUPER_MAGIC) {
-#if defined(__linux__)
+#ifdef HAVE_LIBXFS
backend = new XfsFileStoreBackend(this);
#endif
} else if (basefs.f_type == ZFS_SUPER_MAGIC) {
wbthrottle.set_fs(WBThrottle::BTRFS);
#endif
} else if (st.f_type == XFS_SUPER_MAGIC) {
-#if defined(__linux__)
+#ifdef HAVE_LIBXFS
dout(0) << "mount detected xfs (libxfs)" << dendl;
backend = new XfsFileStoreBackend(this);
+#else
+ dout(0) << "mount detected xfs" << dendl;
+#endif
m_fs_type = FS_TYPE_XFS;
// wbthrottle is constructed with fs(WBThrottle::XFS)
g_conf->apply_changes(NULL);
assert(m_filestore_replica_fadvise == false);
}
-#endif
} else if (st.f_type == ZFS_SUPER_MAGIC) {
#ifdef HAVE_LIBZFS
dout(0) << "mount detected zfs (libzfs)" << dendl;