On Tue, 9 Jan 2001, Adrian Chadd wrote:
 
> Right. So, how about fixing up changing sdirno from an int
> to a short or a int8_t, and then roll a squid-2.4-pre1
> for people to try?
Changing sdirno alone won't be sufficient.  We'll have to make
sfileno 24 bits as well.  I think this will work:
Index: filemap.c
===================================================================
RCS file: /squid/squid/src/filemap.c,v
retrieving revision 1.36
diff -u -r1.36 filemap.c
--- filemap.c   2000/10/13 08:45:07     1.36
+++ filemap.c   2001/01/09 01:35:00
@@ -75,7 +75,7 @@
     int old_sz = fm->nwords * sizeof(*fm->file_map);
     void *old_map = fm->file_map;
     fm->max_n_files <<= 1;
-    assert(fm->max_n_files <= (1 << 30));
+    assert(fm->max_n_files <= (1 << 24));
     fm->nwords = fm->max_n_files >> LONG_BIT_SHIFT;
     debug(8, 3) ("file_map_grow: creating space for %d files\n", fm->max_n_files);
     fm->file_map = xcalloc(fm->nwords, sizeof(*fm->file_map));
Index: structs.h
===================================================================
RCS file: /squid/squid/src/structs.h,v
retrieving revision 1.361.2.7
diff -u -r1.361.2.7 structs.h
--- structs.h   2001/01/09 01:15:35     1.361.2.7
+++ structs.h   2001/01/09 01:35:00
@@ -1321,8 +1321,8 @@
     size_t swap_file_sz;
     u_short refcount;
     u_short flags;
-    sdirno swap_dirn;
-    sfileno swap_filen;
+    sdirno swap_dirn:8;
+    sfileno swap_filen:24;
     RemovalPolicyNode repl;
     u_short lock_count;                /* Assume < 65536! */
     mem_status_t mem_status:3;
Received on Mon Jan 08 2001 - 18:37:54 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:14 MST