From: Sage Weil Date: Thu, 4 Mar 2010 17:45:56 +0000 (-0800) Subject: filejournal: avoid sync_file_range(2) if not present X-Git-Tag: v0.20~345 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=71b9a19481c0b4bc05e03a534e305ff163b87a04;p=ceph.git filejournal: avoid sync_file_range(2) if not present --- diff --git a/src/os/FileJournal.cc b/src/os/FileJournal.cc index 639b7d728561..fdab24137d7d 100644 --- a/src/os/FileJournal.cc +++ b/src/os/FileJournal.cc @@ -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 }