From: Sage Weil Date: Wed, 30 May 2012 22:06:07 +0000 (-0700) Subject: filestore: fix my broken ifdef flow X-Git-Tag: v0.48argonaut~155^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a6f8fe352e8b0f825a381d149443de8c5c78c6fe;p=ceph.git filestore: fix my broken ifdef flow Signed-off-by: Sage Weil --- diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc index 7ed55dbf916..91978e4af90 100644 --- a/src/os/FileStore.cc +++ b/src/os/FileStore.cc @@ -1471,25 +1471,28 @@ int FileStore::_detect_fs() btrfs = false; } + bool have_syncfs = false; #ifdef HAVE_SYS_SYNCFS if (syncfs(fd) == 0) { dout(0) << "mount syncfs(2) syscall fully supported (by glibc and kernel)" << dendl; + have_syncfs = true; } else { dout(0) << "mount syncfs(2) syscall supported by glibc BUT NOT the kernel" << dendl; - } else + } +#else + dout(0) << "mount syncfs(2) syscall not support by glibc" << dendl; #endif - { + if (!have_syncfs) { if (btrfs) { - dout(0) << "mount syncfs(2) syscall not support by glibc, but the btrfs SYNC ioctl will suffice" << dendl; + dout(0) << "mount no syncfs(2), but the btrfs SYNC ioctl will suffice" << dendl; } else if (m_filestore_fsync_flushes_journal_data) { - dout(0) << "mount syncfs(2) syscall not support by glibc, but 'filestore fsync flushes journal data = true', so fsync will suffice." << dendl; + dout(0) << "mount no syncfs(2), but 'filestore fsync flushes journal data = true', so fsync will suffice." << dendl; } else { - dout(0) << "mount syncfs(2) syscall not support by glibc; must use sync(2)." << dendl; + dout(0) << "mount no syncfs(2), must use sync(2)." << dendl; dout(0) << "mount WARNING: multiple ceph-osd daemons on the same host will be slow" << dendl; } } - TEMP_FAILURE_RETRY(::close(fd)); return 0; }