- if (dhu_ubinfo[uban]) {
- dhu_ubinfo[uban] = uballoc(uban, (caddr_t)cfree,
- nclist*sizeof (struct cblock), 0);
- cbase[uban] = UBAI_ADDR(dhu_ubinfo[uban]);
+ if (dhu_uballoc[uban] == dhu) {
+ int info;
+
+ info = uballoc(uban, (caddr_t)cfree,
+ nclist * sizeof(struct cblock), UBA_CANTWAIT);
+ if (info)
+ cbase[uban] = UBAI_ADDR(info);
+ else {
+ printf(" [can't get uba map]");
+ cbase[uban] = -1;
+ }