FYI: This code (i.e. 3 1-line changes) was responsible for a 10% performance increase in wall-clock install time.
You've also had personabl experience why Fsync (close byt) isn't/wans't the right implementation (was requested by Russell Coker for xfs hardening). Study carefully, MADV_DONTNEED isn't where one expects to find I/O performance improvements though its perfectly obvious once you sift through the gory details. hth 73 de Jeff On May 14, 2011, at 4:36 PM, Per Øyvind Karlsen wrote: > RPM Package Manager, CVS Repository > http://rpm5.org/cvs/ > ____________________________________________________________________________ > > Server: rpm5.org Name: Per Øyvind Karlsen > Root: /v/rpm/cvs Email: pkarl...@rpm5.org > Module: rpm Date: 14-May-2011 22:36:14 > Branch: HEAD Handle: 2011051420361400 > > Modified files: > rpm CHANGES > rpm/rpmio iosm.c > > Log: > fix assertion error when trying to install packages without required > permissions. > > Summary: > Revision Changes Path > 1.3640 +2 -0 rpm/CHANGES > 1.44 +2 -1 rpm/rpmio/iosm.c > ____________________________________________________________________________ > > patch -p0 <<'@@ .' > Index: rpm/CHANGES > ============================================================================ > $ cvs diff -u -r1.3639 -r1.3640 CHANGES > --- rpm/CHANGES 12 May 2011 10:01:48 -0000 1.3639 > +++ rpm/CHANGES 14 May 2011 20:36:14 -0000 1.3640 > @@ -1,4 +1,6 @@ > 5.4.0 -> 5.4.1: > + - proyvind: fix assertion error when trying to install packages without > + required permissions. > - devzero2000: begin to put the preliminary check for SUSE > - afb: yaml: fix changelog entry markup > - afb: hdrfmt.c: add ISO-8601 date format > @@ . > patch -p0 <<'@@ .' > Index: rpm/rpmio/iosm.c > ============================================================================ > $ cvs diff -u -r1.43 -r1.44 iosm.c > --- rpm/rpmio/iosm.c 29 Sep 2010 14:54:30 -0000 1.43 > +++ rpm/rpmio/iosm.c 14 May 2011 20:36:14 -0000 1.44 > @@ -2630,7 +2630,8 @@ > rc = IOSMERR_OPEN_FAILED; > } > #if defined(POSIX_FADV_DONTNEED) > - (void) Fadvise(iosm->wfd, 0, 0, POSIX_FADV_DONTNEED); > + else > + (void) Fadvise(iosm->wfd, 0, 0, POSIX_FADV_DONTNEED); > #endif > if (iosm->debug && (stage & IOSM_SYSCALL)) > rpmlog(RPMLOG_DEBUG, " %8s (%s, \"w\") wfd %p wrbuf %p\n", cur, > @@ . > ______________________________________________________________________ > RPM Package Manager http://rpm5.org > CVS Sources Repository rpm-...@rpm5.org
smime.p7s
Description: S/MIME cryptographic signature