From dba0dc1999bb1e8bfe64607e2a9385cda361fcb7 Mon Sep 17 00:00:00 2001 From: Rostislav Skudnov Date: Thu, 16 Mar 2017 20:54:35 +0100 Subject: [PATCH] dd: call fsync() only once before exiting if conv=fsync is specified Signed-off-by: Rostislav Skudnov Signed-off-by: Denys Vlasenko --- coreutils/dd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/coreutils/dd.c b/coreutils/dd.c index 5e68087fc..7d980f1c4 100644 --- a/coreutils/dd.c +++ b/coreutils/dd.c @@ -532,11 +532,11 @@ int dd_main(int argc UNUSED_PARAM, char **argv) if (write_and_stats(ibuf, n, obs, outfile)) goto out_status; } + } - if (G.flags & FLAG_FSYNC) { - if (fsync(ofd) < 0) - goto die_outfile; - } + if (G.flags & FLAG_FSYNC) { + if (fsync(ofd) < 0) + goto die_outfile; } if (ENABLE_FEATURE_DD_IBS_OBS && oc) {