diff options
author | root <root@rshg054.dnsready.net> | 2013-07-24 01:48:51 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-07-24 01:48:51 -0700 |
commit | f4264e218200b57dd39b57531ba086d107e967b5 (patch) | |
tree | 629956f80b884c469cec9086e9af554e304bc1ae /core/glib2/bug701560.patch | |
parent | 1716a100d147ef9079e1e52eb74040579a00c2ad (diff) |
Wed Jul 24 01:48:49 PDT 2013
Diffstat (limited to 'core/glib2/bug701560.patch')
-rw-r--r-- | core/glib2/bug701560.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/core/glib2/bug701560.patch b/core/glib2/bug701560.patch new file mode 100644 index 000000000..041419791 --- /dev/null +++ b/core/glib2/bug701560.patch @@ -0,0 +1,37 @@ +From 05d430065da918051a97e3384c4b2252af47503d Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Thu, 20 Jun 2013 17:13:29 +0000 +Subject: Revert "g_file_set_contents(): don't fsync on ext3/4" + +We didn't actually do any real-world testing of this, and +unsurprisingly it turns out to break in at least one widely-used +configuration (Fedora 19 x86_64, ext4 on LVM). + +This reverts commit 9d0c17b50102267a5029b58b1f44efbad82d8f03. + +https://bugzilla.gnome.org/show_bug.cgi?id=701560 +--- +diff --git a/glib/gfileutils.c b/glib/gfileutils.c +index b6ca3bb..2980098 100644 +--- a/glib/gfileutils.c ++++ b/glib/gfileutils.c +@@ -1088,16 +1088,9 @@ write_to_temp_file (const gchar *contents, + /* On Linux, on btrfs, skip the fsync since rename-over-existing is + * guaranteed to be atomic and this is the only case in which we + * would fsync() anyway. +- * +- * ext3 and ext4 are also safe in this respect under the default +- * mount options (and if someone picks non-default options to +- * improve their performance at the cost of reliability, who are we +- * to argue?) +- * +- * Note: EXT[234]_SUPER_MAGIC are equal. + */ + +- if (fstatfs (fd, &buf) == 0 && (buf.f_type == BTRFS_SUPER_MAGIC || buf.f_type == EXT3_SUPER_MAGIC)) ++ if (fstatfs (fd, &buf) == 0 && buf.f_type == BTRFS_SUPER_MAGIC) + goto no_fsync; + } + #endif +-- +cgit v0.9.2 |