summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/basic/fileio.c4
-rw-r--r--src/libelogind/sd-id128/id128-util.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/src/basic/fileio.c b/src/basic/fileio.c
index c16ef3b1e..484355652 100644
--- a/src/basic/fileio.c
+++ b/src/basic/fileio.c
@@ -1193,6 +1193,10 @@ int fflush_sync_and_check(FILE *f) {
if (fsync(fileno(f)) < 0)
return -errno;
+ r = fsync_directory_of_file(fileno(f));
+ if (r < 0)
+ return r;
+
return 0;
}
diff --git a/src/libelogind/sd-id128/id128-util.c b/src/libelogind/sd-id128/id128-util.c
index bdadf3efa..95cda2943 100644
--- a/src/libelogind/sd-id128/id128-util.c
+++ b/src/libelogind/sd-id128/id128-util.c
@@ -23,6 +23,7 @@
#include <unistd.h>
#include "fd-util.h"
+//#include "fs-util.h"
#include "hexdecoct.h"
#include "id128-util.h"
#include "io-util.h"
@@ -180,9 +181,13 @@ int id128_write_fd(int fd, Id128Format f, sd_id128_t id, bool do_sync) {
if (do_sync) {
if (fsync(fd) < 0)
return -errno;
+
+ r = fsync_directory_of_file(fd);
+ if (r < 0)
+ return r;
}
- return r;
+ return 0;
}
#if 0 /// UNNEEDED by elogind