Don't mmap large files

This commit is contained in:
Paul Nasrat 2006-01-12 13:01:01 +00:00
parent e394c793b2
commit 2adf657fca
2 changed files with 20 additions and 1 deletions

View File

@ -0,0 +1,14 @@
--- rpm-4.4.2/rpmdb/legacy.c.no_large_mmap 2006-01-10 11:25:28.000000000 +0000
+++ rpm-4.4.2/rpmdb/legacy.c 2006-01-10 11:25:31.000000000 +0000
@@ -167,6 +167,11 @@
goto exit;
}
+ /* file to large (32 MB), do not mmap file */
+ if (fsize > (size_t) 32*1024*1024)
+ if (ut == URL_IS_PATH || ut == URL_IS_UNKNOWN)
+ ut = URL_IS_DASH; /* force fd io */
+
switch(ut) {
case URL_IS_PATH:
case URL_IS_UNKNOWN:

View File

@ -20,7 +20,7 @@ Name: rpm
%define version 4.4.2 %define version 4.4.2
Version: %{version} Version: %{version}
%{expand: %%define rpm_version %{version}} %{expand: %%define rpm_version %{version}}
Release: 12 Release: 13
Group: System Environment/Base Group: System Environment/Base
Source: ftp://wraptastic.org/pub/rpm-4.4.x/rpm-%{rpm_version}.tar.gz Source: ftp://wraptastic.org/pub/rpm-4.4.x/rpm-%{rpm_version}.tar.gz
Source1: mono-find-provides Source1: mono-find-provides
@ -42,6 +42,7 @@ Patch13: rpm-4.4.2-excluded-size.patch
Patch14: rpm-4.4.2-cronpath.patch Patch14: rpm-4.4.2-cronpath.patch
Patch15: rpm-4.4.2-mono.patch Patch15: rpm-4.4.2-mono.patch
Patch16: rpm-4.4.2-file-softmagic.patch Patch16: rpm-4.4.2-file-softmagic.patch
Patch17: rpm-4.4.2-no-large-mmap.patch
License: GPL License: GPL
Conflicts: patch < 2.5 Conflicts: patch < 2.5
%ifos linux %ifos linux
@ -170,6 +171,7 @@ shell-like rules.
%patch14 -p1 -b .cronpath %patch14 -p1 -b .cronpath
%patch15 -p1 -b .mono %patch15 -p1 -b .mono
%patch16 -p1 -b .magic %patch16 -p1 -b .magic
%patch17 -p1 -b .no_large_mmap
%build %build
@ -562,6 +564,9 @@ exit 0
%{__includedir}/popt.h %{__includedir}/popt.h
%changelog %changelog
* Wed Jan 11 2006 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-13
- Don't mmap large files
* Mon Jan 9 2006 Alexander Larsson <alexl@redhat.com> - 4.4.2-12 * Mon Jan 9 2006 Alexander Larsson <alexl@redhat.com> - 4.4.2-12
- Add mono req/provides support - Add mono req/provides support