]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
fix syncfs handling in error case
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 27 Nov 2012 15:54:40 +0000 (16:54 +0100)
committerSage Weil <sage@inktank.com>
Tue, 27 Nov 2012 16:52:52 +0000 (08:52 -0800)
If the call to syncfs() fails, don't try to call syncfs again via
syscall(). If HAVE_SYS_SYNCFS is defined, don't fall through to try
syscall() with SYS_syncfs or __NR_syncfs.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/common/sync_filesystem.h

index 5b23576ff4cdc69e2e98eda69144e97d88ada557..eff18d20af0fb11e21bcde917544134812ccb450 100644 (file)
@@ -34,14 +34,10 @@ inline int sync_filesystem(int fd)
 #ifdef HAVE_SYS_SYNCFS
   if (syncfs(fd) == 0)
     return 0;
-#endif
-
-#ifdef SYS_syncfs
+#elif defined(SYS_syncfs)
   if (syscall(SYS_syncfs, fd) == 0)
     return 0;
-#endif
-
-#ifdef __NR_syncfs
+#elif defined(__NR_syncfs)
   if (syscall(__NR_syncfs, fd) == 0)
     return 0;
 #endif