summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--syncfs.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/syncfs.c b/syncfs.c
new file mode 100644
index 0000000..e45e875
--- /dev/null
+++ b/syncfs.c
@@ -0,0 +1,28 @@
+#define _GNU_SOURCE
+
+#include <unistd.h>
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+
+int main(int argc, char** argv)
+{
+ if(argc != 2)
+ {
+ printf("usage:\n\t%s <some valid path insied filesystem>\n", argv[0]);
+ return -1;
+ }
+ FILE *f = fopen(argv[1], "r");
+ if(!f)
+ {
+ printf("fopen failed %s\n", strerror(errno));
+ return -1;
+ }
+ int fd = fileno(f);
+ int err = syncfs(fd);
+ if(err < 0)
+ {
+ printf("syncfs failed %s\n", strerror(errno));
+ }
+ return 0;
+}