a problem with expire and history

Katsuhiro Kondou kondou at nec.co.jp
Thu Oct 21 08:36:30 UTC 1999


In article <14350.48468.486872.31586B at vlsi.kuee.kyoto-u.ac.jp>,
	Kenichi Okada <okada at opaopa.org> wrote;

} I cannot expireover and core dumps.
} My overview spool is full. I don't know what I should do.

Someone asked me how this comes early this morning, and
I see the problem also on my testing box.  Hopefully
attached will help you.  And you need to rebuild overview
data.
-- 
Katsuhiro Kondou

--- storage/buffindexed/buffindexed.c.orig	Sat Oct 16 19:37:11 1999
+++ storage/buffindexed/buffindexed.c	Thu Oct 21 09:42:50 1999
@@ -257,7 +257,7 @@
 STATIC BOOL ovaddblk(GROUPENTRY *ge, int delta, ADDINDEX type);
 STATIC void *ovopensearch(char *group, int low, int high, BOOL needov);
 STATIC void ovclosesearch(void *handle, BOOL freeblock);
-STATIC OVBLOCK	*Gib;
+STATIC char	*Gib;
 STATIC char	*Gdb;
 
 #ifdef HPUX
@@ -1674,7 +1674,7 @@
   if (innconf->ovmmapthreshold >= 0 && ((high - low) > innconf->ovmmapthreshold)) {
     i = 0;
     count = ((high - low + 1) / OVINDEXMAX) + 2;
-    Gib = NEW(OVBLOCK, count);
+    Gib = NEW(char, count * OV_BLOCKSIZE);
   } else {
     Gib = NULL;
   }
@@ -1705,9 +1705,9 @@
       continue;
     }
     if (Gib != NULL) {
-      memcpy(&Gib[i], ovblock, OV_BLOCKSIZE);
+      memcpy(&Gib[i * OV_BLOCKSIZE], ovblock, OV_BLOCKSIZE);
       munmap(gib->addr, gib->len);
-      gib->ovblock = ovblock = &Gib[i];
+      gib->ovblock = ovblock = (OVBLOCK *)&Gib[i * OV_BLOCKSIZE];
       gib->base = ovblock->ovindexhead.base;
       gib->baseoffset = ovblock->ovindexhead.baseoffset;
       i++;




More information about the inn-workers mailing list