]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
wbthrottle: use posix_fadvise if available 816/head
authorNoah Watkins <noahwatkins@gmail.com>
Sun, 21 Jul 2013 01:41:39 +0000 (18:41 -0700)
committerNoah Watkins <noahwatkins@gmail.com>
Mon, 4 Nov 2013 21:01:33 +0000 (13:01 -0800)
Only adding information about data usage. This won't effect correctness.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
configure.ac
src/os/WBThrottle.cc

index 66d8f2161c99054347fd87a014b6372e34b2891f..86a5eee45f6ceace2c19f1c2010499edea6e2a36 100644 (file)
@@ -539,6 +539,7 @@ AC_CHECK_FUNC([fallocate],
 AC_CHECK_HEADERS([sys/prctl.h])
 AC_CHECK_FUNCS([prctl])
 AC_CHECK_FUNCS([pipe2])
+AC_CHECK_FUNCS([posix_fadvise])
 
 # Checks for typedefs, structures, and compiler characteristics.
 #AC_HEADER_STDBOOL
index e02c17677bbdee18c1d32f64d2392166b176b942..9430c4fd3cde425075d3c0e5e04901bf8572ad0c 100644 (file)
@@ -1,6 +1,8 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 // vim: ts=8 sw=2 smarttab
 
+#include "acconfig.h"
+
 #include "os/WBThrottle.h"
 #include "common/perf_counters.h"
 
@@ -146,8 +148,10 @@ void *WBThrottle::entry()
     clearing = wb.get<0>();
     lock.Unlock();
     ::fdatasync(**wb.get<1>());
+#ifdef HAVE_POSIX_FADVISE
     if (wb.get<2>().nocache)
       posix_fadvise(**wb.get<1>(), 0, 0, POSIX_FADV_DONTNEED);
+#endif
     lock.Lock();
     clearing = ghobject_t();
     cur_ios -= wb.get<2>().ios;