After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 742482 - checkout: Add --fsync=false
checkout: Add --fsync=false
Status: RESOLVED FIXED
Product: ostree
Classification: Infrastructure
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: OSTree maintainer(s)
OSTree maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2015-01-06 21:17 UTC by Colin Walters
Modified: 2015-01-07 16:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
checkout: Add --fsync=false (13.33 KB, patch)
2015-01-06 21:17 UTC, Colin Walters
committed Details | Review

Description Colin Walters 2015-01-06 21:17:46 UTC
Some use cases for checkouts don't need to fsync during checkout.
Installer programs for example will just do a global fsync at the end.

In the future, the default "ostree admin" core could also be
rearchitected to only do a transaction commit right before reboot, and
do the fsync then.
Comment 1 Colin Walters 2015-01-06 21:17:49 UTC
Created attachment 293977 [details] [review]
checkout: Add --fsync=false
Comment 2 Stef Walter 2015-01-06 21:25:07 UTC
Review of attachment 293977 [details] [review]:

Tested this and can confirm that it fixes the performance issues with 'ostree checkout'.
Comment 3 Matthew Barnes 2015-01-07 16:50:44 UTC
Review of attachment 293977 [details] [review]:

Looks good to me overall.

The bit in ostree-repo-checkout.c where you retry fsync() on EINTR feels like it could be a utility function.  Don't know how important it is to do that everywhere.
Comment 4 Colin Walters 2015-01-07 16:57:16 UTC
Attachment 293977 [details] pushed as f23f556 - checkout: Add --fsync=false
Comment 5 Colin Walters 2015-01-07 16:58:09 UTC
Yeah, there are places where we aren't retrying on EINTR where we should be, either =(