diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-08-30 07:49:50 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-08-30 07:49:50 +0200 |
commit | 311b1ceb2cc3e69130c46b0485b2c55a1b166d62 (patch) | |
tree | 987eec04d8148187836219929824bcd7f210bde2 /src/basic/fileio.c | |
parent | 9947abfa61364034e316bc7e578cda4ab2c2b9e7 (diff) |
Prep v235: Apply pending upstream updates in src/basic [1/4]
Diffstat (limited to 'src/basic/fileio.c')
-rw-r--r-- | src/basic/fileio.c | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/src/basic/fileio.c b/src/basic/fileio.c index 13b2e312f..7edc31d0a 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -70,7 +70,7 @@ int write_string_stream_ts(FILE *f, const char *line, bool enforce_newline, stru return fflush_and_check(f); } -static int write_string_file_atomic(const char *fn, const char *line, bool enforce_newline, bool do_fsync) { +static int write_string_file_atomic(const char *fn, const char *line, bool enforce_newline) { _cleanup_fclose_ FILE *f = NULL; _cleanup_free_ char *p = NULL; int r; @@ -85,9 +85,6 @@ static int write_string_file_atomic(const char *fn, const char *line, bool enfor (void) fchmod_umask(fileno(f), 0644); r = write_string_stream(f, line, enforce_newline); - if (r >= 0 && do_fsync) - r = fflush_sync_and_check(f); - if (r >= 0) { if (rename(p, fn) < 0) r = -errno; @@ -106,14 +103,10 @@ int write_string_file_ts(const char *fn, const char *line, WriteStringFileFlags assert(fn); assert(line); - /* We don't know how to verify whether the file contents was already on-disk. */ - assert(!((flags & WRITE_STRING_FILE_VERIFY_ON_FAILURE) && (flags & WRITE_STRING_FILE_SYNC))); - if (flags & WRITE_STRING_FILE_ATOMIC) { assert(flags & WRITE_STRING_FILE_CREATE); - r = write_string_file_atomic(fn, line, !(flags & WRITE_STRING_FILE_AVOID_NEWLINE), - flags & WRITE_STRING_FILE_SYNC); + r = write_string_file_atomic(fn, line, !(flags & WRITE_STRING_FILE_AVOID_NEWLINE)); if (r < 0) goto fail; @@ -150,12 +143,6 @@ int write_string_file_ts(const char *fn, const char *line, WriteStringFileFlags if (r < 0) goto fail; - if (flags & WRITE_STRING_FILE_SYNC) { - r = fflush_sync_and_check(f); - if (r < 0) - return r; - } - return 0; fail: @@ -1144,21 +1131,6 @@ int fflush_and_check(FILE *f) { return 0; } -int fflush_sync_and_check(FILE *f) { - int r; - - assert(f); - - r = fflush_and_check(f); - if (r < 0) - return r; - - if (fsync(fileno(f)) < 0) - return -errno; - - return 0; -} - /* This is much like mkostemp() but is subject to umask(). */ int mkostemp_safe(char *pattern) { _cleanup_umask_ mode_t u = 0; |