]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
filejournal: avoid sync_file_range(2) if not present
authorSage Weil <sage@newdream.net>
Thu, 4 Mar 2010 17:45:56 +0000 (09:45 -0800)
committerSage Weil <sage@newdream.net>
Thu, 4 Mar 2010 17:45:56 +0000 (09:45 -0800)
src/os/FileJournal.cc

index 639b7d7285611744c7718060322a3c12df901c15..fdab24137d7d08d89f30a213859955e5295996db 100644 (file)
@@ -543,6 +543,7 @@ void FileJournal::do_write(bufferlist& bl)
 #ifdef DARWIN
     ::fsync(fd);
 #else
+# ifdef HAVE_SYNC_FILE_RANGE
     if (is_bdev) {
       if (split) {
        ::sync_file_range(fd, header.max_size - split, split, SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE);
@@ -554,6 +555,7 @@ void FileJournal::do_write(bufferlist& bl)
                          SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER);
       }
     } else
+# endif
       ::fdatasync(fd);
 #endif
   }