| --- 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; |
| |