On 11/6/18 7:35 PM, Paul Eggert wrote: > Thanks, I installed that and am closing the bug report. That was a real bug, i.e., not only a resource leak, wasn't it? If the calling user has -r+w permissions on the file, then sync previously exited with 1 without actually syncing: $ install -m 0200 /dev/null /tmp/file $ ls -log /tmp/file --w------- 1 0 Nov 7 00:06 /tmp/file $ strace -v /usr/bin/sync /tmp/file 2>&1 | tail -n6 openat(AT_FDCWD, "/tmp/file", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied) openat(AT_FDCWD, "/tmp/file", O_WRONLY|O_NONBLOCK) = 3 close(1) = 0 close(2) = 0 exit_group(1) = ? +++ exited with 1 +++ With the patch, fsync is called, and sync terminated with success: $ strace -v src/sync /tmp/file 2>&1 | tail openat(AT_FDCWD, "/tmp/file", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied) openat(AT_FDCWD, "/tmp/file", O_WRONLY|O_NONBLOCK) = 3 fcntl(3, F_GETFL) = 0x8801 (flags O_WRONLY|O_NONBLOCK|O_LARGEFILE) fcntl(3, F_SETFL, O_WRONLY|O_LARGEFILE) = 0 fsync(3) = 0 close(3) = 0 close(1) = 0 close(2) = 0 exit_group(0) = ? +++ exited with 0 +++ Should we add a NEWS entry and a test - see attached? Thanks & have a nice day, Berny