Increased cache allocation
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:55:04 +0000 (16:55 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:55:04 +0000 (16:55 +0000)
Author: jgg
Date: 1999-10-29 04:49:37 GMT
Increased cache allocation

apt-pkg/pkgcachegen.cc
debian/changelog
doc/apt.conf.5.yo
doc/examples/apt.conf

index 0a645ca..5aaba78 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgcachegen.cc,v 1.41 1999/07/26 17:46:07 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.42 1999/10/29 04:49:37 jgg Exp $
 /* ######################################################################
    
    Package Cache Generator - Generator for the cache structure.
@@ -724,6 +724,8 @@ bool pkgGenerateSrcCache(pkgSourceList &List,OpProgress &Progress,
    xstatus files into it. */
 bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
 {
+   unsigned long MapSize = _config->FindI("APT::Cache-Limit",4*1024*1024);
+   
    Progress.OverallProgress(0,1,1,"Reading Package Lists");
    
    string CacheFile = _config->FindFile("Dir::Cache::pkgcache");
@@ -736,7 +738,7 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
       string SCacheFile = _config->FindFile("Dir::Cache::srcpkgcache");
       FileFd SCacheF(SCacheFile,FileFd::WriteEmpty);
       FileFd CacheF(CacheFile,FileFd::WriteEmpty);
-      DynamicMMap Map(CacheF,MMap::Public);
+      DynamicMMap Map(CacheF,MMap::Public,MapSize);
       if (_error->PendingError() == true)
         return false;
 
@@ -767,7 +769,7 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
 
    FileFd SCacheF(SCacheFile,FileFd::ReadOnly);
    FileFd CacheF(CacheFile,FileFd::WriteEmpty);
-   DynamicMMap Map(CacheF,MMap::Public);
+   DynamicMMap Map(CacheF,MMap::Public,MapSize);
    if (_error->PendingError() == true)
       return false;
    
@@ -794,6 +796,8 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
    creates a memory block and puts the cache in there. */
 MMap *pkgMakeStatusCacheMem(pkgSourceList &List,OpProgress &Progress)
 {
+   unsigned long MapSize = _config->FindI("APT::Cache-Limit",4*1024*1024);
+   
    /* If the cache file is writeable this is just a wrapper for
       MakeStatusCache */
    string CacheFile = _config->FindFile("Dir::Cache::pkgcache");
@@ -828,7 +832,7 @@ MMap *pkgMakeStatusCacheMem(pkgSourceList &List,OpProgress &Progress)
    // Rebuild the source and package caches   
    if (SrcOk == false)
    {
-      DynamicMMap *Map = new DynamicMMap(MMap::Public);
+      DynamicMMap *Map = new DynamicMMap(MMap::Public,MapSize);
       if (_error->PendingError() == true)
       {
         delete Map;
@@ -875,7 +879,7 @@ MMap *pkgMakeStatusCacheMem(pkgSourceList &List,OpProgress &Progress)
    // We use the source cache to generate the package cache
    string SCacheFile = _config->FindFile("Dir::Cache::srcpkgcache");
    FileFd SCacheF(SCacheFile,FileFd::ReadOnly);
-   DynamicMMap *Map = new DynamicMMap(MMap::Public);
+   DynamicMMap *Map = new DynamicMMap(MMap::Public,MapSize);
    if (_error->PendingError() == true)
    {
       delete Map;
index 6a83a58..db75e6f 100644 (file)
@@ -28,6 +28,7 @@ apt (0.3.13.1) unstable; urgency=low
   * Remove is not 'sticky'. Closes: #48392
   * Slightly more accurate 'can not find package' message. Closes: #48311
   * --trivial-only and --no-remove. Closes: #48518
+  * Increased the cache size. Closes: #47648
   
  -- Jason Gunthorpe <jgg@debian.org>  Fri,  3 Sep 1999 09:04:28 -0700
  
index 4d3f3fd..212ac05 100644 (file)
@@ -76,6 +76,10 @@ packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG. This option will
 work if the essential packages are not tar, gzip, libc, dpkg, bash or 
 anything that those packages depend on.
 
+dit(bf(Cache-Limit))
+APT uses a fixed size memory mapped cache file to store the 'available'
+information. This sets the size of that cache.
+
 dit(bf(Get))
 The Get subsection controls the bf(apt-get(8)) tool, please see its
 documentation for more information about the options here.
index bd09694..c6e506c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: apt.conf,v 1.40 1999/10/28 05:54:46 jgg Exp $
+// $Id: apt.conf,v 1.41 1999/10/29 04:49:37 jgg Exp $
 /* This file is an index of all APT configuration directives. It should
    NOT actually be used as a real config file, though it is a completely
    valid file. Most of the options have sane default values, unless
@@ -62,6 +62,7 @@ APT
   Clean-Installed "true";
   Immediate-Configure "true";      // DO NOT turn this off, see the man page
   Force-LoopBreak "false";         // DO NOT turn this on, see the man page
+  Cache-Limit "4194304";
 };
 
 // Options for the downloading routines