CHECK_FUNCTION_EXISTS(posix_fallocate HAVE_POSIX_FALLOCATE)
CHECK_FUNCTION_EXISTS(syncfs HAVE_SYS_SYNCFS)
CHECK_FUNCTION_EXISTS(sync_file_range HAVE_SYNC_FILE_RANGE)
+CHECK_FUNCTION_EXISTS(mallinfo HAVE_MALLINFO)
CHECK_INCLUDE_FILES("arpa/inet.h" HAVE_ARPA_INET_H)
CHECK_INCLUDE_FILES("boost/random/discrete_distribution.hpp" HAVE_BOOST_RANDOM_DISCRETE_DISTRIBUTION)
CHECK_INCLUDE_FILES("dirent.h" HAVE_DIRENT_H)
[AC_DEFINE([CEPH_HAVE_FALLOCATE], [], [fallocate(2) is supported])],
[])
+# mallinfo
+AC_CHECK_FUNC([mallinfo],
+ [AC_DEFINE(HAVE_MALLINFO, 1, [Define if you have mallinfo])])
+
# getgrouplist
AC_CHECK_FUNCS([getgrouplist])
+#include "acconfig.h"
#include "include/types.h"
#include "MemoryModel.h"
#include "common/config.h"
psnap->heap = heap >> 10;
// ...
-#if defined(__linux__)
+#if defined(HAVE_MALLINFO)
struct mallinfo mi = mallinfo();
psnap->malloc = mi.uordblks >> 10;
/* fallocate(2) is supported */
#cmakedefine CEPH_HAVE_FALLOCATE
+/* mallinfo(3) is supported */
+#cmakedefine HAVE_MALLINFO
+
/* posix_fadvise is supported */
#cmakedefine HAVE_POSIX_FADVISE