Blame SOURCES/coreutils-8.30-fsync-fallback.patch

8d0e4d
From 2eabfbee57be82f755c74cbb05755dce1469ea7c Mon Sep 17 00:00:00 2001
8d0e4d
From: Paul Eggert <eggert@cs.ucla.edu>
8d0e4d
Date: Tue, 6 Nov 2018 10:35:16 -0800
8d0e4d
Subject: [PATCH 1/2] sync: fix open fallback bug
8d0e4d
8d0e4d
Problem caught by Coverity Analysis
8d0e4d
and reported by Kamil Dudka (Bug#33287).
8d0e4d
* src/sync.c (sync_arg): Fix typo in fallback code.
8d0e4d
8d0e4d
Upstream-commit: 94d364f157f007f2b23c70863ac8eefe9b21229d
8d0e4d
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
8d0e4d
---
8d0e4d
 src/sync.c | 6 ++++--
8d0e4d
 1 file changed, 4 insertions(+), 2 deletions(-)
8d0e4d
8d0e4d
diff --git a/src/sync.c b/src/sync.c
8d0e4d
index bd3671a..607fa8f 100644
8d0e4d
--- a/src/sync.c
8d0e4d
+++ b/src/sync.c
8d0e4d
@@ -111,8 +111,10 @@ sync_arg (enum sync_mode mode, char const *file)
8d0e4d
       if (open_flags != (O_WRONLY | O_NONBLOCK))
8d0e4d
         fd = open (file, O_WRONLY | O_NONBLOCK);
8d0e4d
       if (fd < 0)
8d0e4d
-        error (0, rd_errno, _("error opening %s"), quoteaf (file));
8d0e4d
-      return false;
8d0e4d
+        {
8d0e4d
+          error (0, rd_errno, _("error opening %s"), quoteaf (file));
8d0e4d
+          return false;
8d0e4d
+        }
8d0e4d
     }
8d0e4d
 
8d0e4d
   /* We used O_NONBLOCK above to not hang with fifos,
8d0e4d
-- 
8d0e4d
2.17.2
8d0e4d
8d0e4d
8d0e4d
From e62ff3068f1f1b1e84d3319f54f1b869bb0bf6cc Mon Sep 17 00:00:00 2001
8d0e4d
From: Bernhard Voelker <mail@bernhard-voelker.de>
8d0e4d
Date: Wed, 7 Nov 2018 00:26:01 +0100
8d0e4d
Subject: [PATCH 2/2] sync: add test for the fix in the previous commit
8d0e4d
8d0e4d
* tests/misc/sync.sh: Add a test with a write-only file for the fix.
8d0e4d
8d0e4d
Upstream-commit: 4711c49312d54e84996c13c612f7081c95f821a6
8d0e4d
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
8d0e4d
---
8d0e4d
 tests/misc/sync.sh | 7 ++++++-
8d0e4d
 1 file changed, 6 insertions(+), 1 deletion(-)
8d0e4d
8d0e4d
diff --git a/tests/misc/sync.sh b/tests/misc/sync.sh
8d0e4d
index f60d28c..3bb6e17 100755
8d0e4d
--- a/tests/misc/sync.sh
8d0e4d
+++ b/tests/misc/sync.sh
8d0e4d
@@ -19,7 +19,7 @@
8d0e4d
 . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
8d0e4d
 print_ver_ sync
8d0e4d
 
8d0e4d
-touch file
8d0e4d
+touch file || framework_failure_
8d0e4d
 
8d0e4d
 # fdatasync+syncfs is nonsensical
8d0e4d
 returns_ 1 sync --data --file-system || fail=1
8d0e4d
@@ -30,6 +30,11 @@ returns_ 1 sync -d || fail=1
8d0e4d
 # Test syncing of file (fsync) (little side effects)
8d0e4d
 sync file || fail=1
8d0e4d
 
8d0e4d
+# Test syncing of write-only file - which failed since adding argument
8d0e4d
+# support to sync in coreutils-8.24.
8d0e4d
+chmod 0200 file || framework_failure_
8d0e4d
+sync file || fail=1
8d0e4d
+
8d0e4d
 # Ensure multiple args are processed and diagnosed
8d0e4d
 returns_ 1 sync file nofile || fail=1
8d0e4d
 
8d0e4d
-- 
8d0e4d
2.17.2
8d0e4d