void rescanBIOSDevice(int biosdev)␊ |
{␊ |
␉struct DiskBVMap *oldMap = diskResetBootVolumes(biosdev);␊ |
␉if (oldMap == NULL)␊ |
␉{␊ |
␉␉return;␊ |
␉}␊ |
␉CacheReset();␊ |
␉diskFreeMap(oldMap);␊ |
␉oldMap = NULL;␊ |
|
␉␉}␊ |
␉␉else␊ |
␉␉{␊ |
␉␉␉stop("");␊ |
␉␉␉stop("diskResetBootVolumes error\n");␊ |
␉␉␉return NULL;␊ |
␉␉}␊ |
␉}␊ |
␉// Return the old map, either to be freed, or reinserted later␊ |
|
␉␉␉{␊ |
␉␉␉␉continue;␊ |
␉␉␉}␊ |
␉␉␉bzero(newBVR,sizeof(*newBVR));␊ |
␊ |
␉␉␉bcopy(bvr, newBVR, sizeof(*newBVR));␊ |
␊ |
␉␉␉/*␊ |
|
#if DEBUG //Azi: warning - too big for boot-log.. far too big.. i mean HUGE!! :P␊ |
␉for (bvr = chain; bvr; bvr = bvr->next)␊ |
␉{␊ |
␉␉if (!bvr)␊ |
␉␉{␊ |
␉␉␉break;␊ |
␉␉}␊ |
␉␉printf(" bvr: %d, dev: %d, part: %d, flags: %d, vis: %d\n", bvr, bvr->biosdev, bvr->part_no, bvr->flags, bvr->visible);␊ |
␉}␊ |
␉printf("count: %d\n", bvCount);␊ |
|
␊ |
␉while (bvr)␊ |
␉{␊ |
␉␉if (!bvr)␊ |
␉␉{␊ |
␉␉␉break;␊ |
␉␉}␊ |
␉␉nextBVR = bvr->next;␊ |
␊ |
␉␉if (bvr->filtered)␊ |