lib/repo: Don't syncfs or fsync() dirs if fsync opt is disabled

There are use cases for not syncing at all; think build cache repos, etc. Let's
be consistent here and make sure if fsync is disabled we do no sync at all.

I chose this opportunity to add tests using the shiny new strace fault
injection.  I can forsee using this for a lot more things, so I made
the support for detecting things generic.

Related: https://github.com/ostreedev/ostree/issues/1184

Closes: #1186
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Atomic Bot committed 2017-09-21 13:21:59 +00:00
1 parent 7a8511e0ca
commit 75150fe04a
4 files changed
+47 -10

No files matched your search

+1 -1
View File
@@ -10,7 +10,7 @@ pkg_upgrade
pkg_install_builddeps ostree
# Until this propagates farther
pkg_install 'pkgconfig(libcurl)' 'pkgconfig(openssl)'
pkg_install sudo which attr fuse \
pkg_install sudo which attr fuse strace \
libubsan libasan libtsan PyYAML redhat-rpm-config \
elfutils
if test -n "${CI_PKGS:-}"; then