tabs be gone!
[rrdtool.git] / src / rrd_create.c
index 521c726..e9ac860 100644 (file)
@@ -690,7 +690,7 @@ rrd_create_fn(const char *file_name, rrd_t *rrd)
        return(-1);
     }
     
-#ifdef POSIX_FADVISE
+#ifdef HAVE_POSIX_FADVISE
     /* this file is not going to be read again any time
        soon, so we drop everything except the header portion from
        the buffer cache. for this to work, we have to fdsync the file
@@ -699,6 +699,7 @@ rrd_create_fn(const char *file_name, rrd_t *rrd)
        a single rrd file is not too large, but I assume this should not be the case
        in general. Otherwhise we would have to sync and release while writing all
        the unknown data. */
+    fflush(rrd_file);
     fdatasync(fileno(rrd_file));
     if (0 != posix_fadvise(fileno(rrd_file), rrd_head_size, 0, POSIX_FADV_DONTNEED)) {
         rrd_set_error("setting POSIX_FADV_DONTNEED on '%s': %s",file_name, rrd_strerror(errno));