|
|
researchv10 Norman
/*
* intermediate table-building and consistency checks
*/
#include "mkconf.h"
fixup()
{
register Dev *dp;
register int i;
register Mdev *mp;
for (dp = dlist; dp; dp = dp->next) {
devtfix(dp);
incfix(dp);
(*acode[dp->mdev->atype].fixup)(dp);
}
if (rootfmp == NULL) {
fprint(STDERR, "no root device\n");
errs++;
} else {
if ((rootfs = tablook(rootfmp, fstypsw, nfs)) < 0) {
fprint(STDERR, "%s: root fs not a filesystem\n", rootfmp->name);
errs++;
}
if ((rootmaj = tablook(rootdmp, bdevsw, nblk)) < 0) {
fprint(STDERR, "%s: root dev not a block device\n", rootdmp->name);
errs++;
}
}
if (nswapdev == 0) {
fprint(STDERR, "no swap device\n");
errs++;
} else if ((mp = mdlook("drum")) == NULL) {
fprint(STDERR, "no drum device\n");
errs++;
} else {
if ((swapmaj = tablook(mp, bdevsw, nblk)) < 0) {
fprint(STDERR, "drum not configured\n");
errs++;
}
swapmin = 0;
for (i = 0; i < nswapdev; i++)
if ((swaptab[i].major = tablook(swaptab[i].mp, bdevsw, nblk)) < 0) {
fprint(STDERR, "%s: swap dev not a block device\n",
swaptab[i].mp->name);
errs++;
}
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.