summaryrefslogtreecommitdiff
blob: a8b721951270549c328e3b0b6ded00e849f3c05a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- 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;