blob: a8b721951270549c328e3b0b6ded00e849f3c05a [file] [log] [blame]
--- common/exf.c
+++ common/exf.c
@@ -228,13 +228,18 @@
/*
* XXX
* A seat of the pants calculation: try to keep the file in
- * 15 pages or less. Don't use a page size larger than 10K
+ * 15 pages or less. Don't use a page size larger than 8K
- * (vi should have good locality) or smaller than 1K.
+ * (vi should have good locality) or smaller than 1K. DB asks
+ * for a power of two, so give it one.
*/
psize = ((sb.st_size / 15) + 1023) / 1024;
- if (psize > 10)
+ if (psize >= 8)
- psize = 10;
+ psize = 8;
+ else if (psize >= 4)
+ psize = 4;
+ else if (psize >= 2)
+ psize = 2;
- if (psize == 0)
+ else
psize = 1;
psize *= 1024;