summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch34
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.0.bb1
2 files changed, 35 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch b/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
new file mode 100644
index 000000000..33039ad99
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
@@ -0,0 +1,34 @@
+Backport from RPM 5.4.1 CVS, disabled fsync.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur rpm-5.4.0.orig/CHANGES rpm-5.4.0/CHANGES
+--- rpm-5.4.0.orig/CHANGES 2010-12-29 07:51:38.000000000 -0600
++++ rpm-5.4.0/CHANGES 2011-02-15 20:54:27.021926840 -0600
+@@ -1,4 +1,5 @@
+ 5.4.0 -> 5.4.1:
++ - jbj: remove fsync(2) after file install, its intolerably slow.
+
+ 5.3.7 -> 5.4.0:
+ - jbj: remove markReplacedFiles.
+diff -ur rpm-5.4.0.orig/lib/fsm.c rpm-5.4.0/lib/fsm.c
+--- rpm-5.4.0.orig/lib/fsm.c 2009-12-10 12:52:18.000000000 -0600
++++ rpm-5.4.0/lib/fsm.c 2011-02-15 20:55:04.372938221 -0600
+@@ -1017,7 +1017,17 @@
+ (void) fsmNext(fsm, IOSM_NOTIFY);
+ }
+
++#ifdef DYING
++/* Measurements from installing kernel-source package:
++ * +fsync
++ * total: 1 0.000000 MB 640.854524 secs
++ * +fdatasync
++ * total: 1 0.000000 MB 419.983200 secs
++ * w/o fsync/fdsatasync:
++ * total: 1 0.000000 MB 12.492918 secs
++ */
+ xx = fsync(Fileno(fsm->wfd));
++#endif
+
+ if (st->st_size > 0 && (fsm->fdigest || fsm->digest)) {
+ void * digest = NULL;
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
index 93951d2c6..45dd4e1ee 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -54,6 +54,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex
file://header-include-fix.patch \
file://rpm-platform.patch \
file://rpm-showrc.patch \
+ file://rpm-nofsync.patch \
"
# file://hdraddorappend.patch \