--- cci/sys/tahoe/autoconf.c 2019/07/28 12:24:19 1.1.1.1 +++ cci/sys/tahoe/autoconf.c 2019/07/28 12:30:02 1.1.1.2 @@ -183,25 +183,29 @@ unifind(vumem, memmap) swapconf() { register struct swdevt *swp; - register int nblks; + register int nblks = 0; + if (dmmin == 0) + dmmin = DMMIN; + if (dmmax == 0) + dmmax = DMMAX; + if (dmtext == 0) + dmtext = DMTEXT; + if (dmtext > dmmax) + dmtext = dmmax; for (swp = swdevt; swp->sw_dev; swp++) { + if (swp->sw_dev == -1) + break; if (bdevsw[major(swp->sw_dev)].d_psize) nblks = (*bdevsw[major(swp->sw_dev)].d_psize)(swp->sw_dev); - if (swp->sw_nblks == 0 || swp->sw_nblks > nblks) + if (swp->sw_nblks == 0 || swp->sw_nblks > nblks) { swp->sw_nblks = nblks; + swp->sw_segs = nblks / dmmax; + } } if (dumplo == 0) dumplo = swdevt[0].sw_nblks - MAXDUMP; if (dumplo < 0) dumplo = 0; - if (dmmin == 0) - dmmin = DMMIN; - if (dmmax == 0) - dmmax = DMMAX; - if (dmtext == 0) - dmtext = DMTEXT; - if (dmtext > dmmax) - dmtext = dmmax; }