From 10aa135d820eb28e100cb51a402a63a126be388c Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Tue, 26 Jul 2005 13:23:13 +0000 Subject: [PATCH] Minor cdprobe message additions; usyslogd logs shorter lines --- commands/simple/usyslogd.c | 3 ++- servers/fs/cdprobe.c | 28 ++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/commands/simple/usyslogd.c b/commands/simple/usyslogd.c index 0fd3a33c7..62a4c325f 100644 --- a/commands/simple/usyslogd.c +++ b/commands/simple/usyslogd.c @@ -25,7 +25,8 @@ void logline(FILE *outfp, char *proc, char *line) /* Trim off year and newline. */ if((s=strrchr(d, ' '))) *s = '\0'; - fprintf(outfp, "%s %s kernel: %s\n", d, nodename, line); + if(s=strchr(d, ' ')) d = s+1; + fprintf(outfp, "%s %s: %s\n", d, nodename, line); } void copy(int in_fd, FILE *outfp) diff --git a/servers/fs/cdprobe.c b/servers/fs/cdprobe.c index fa2615fe6..2fd89b6c7 100644 --- a/servers/fs/cdprobe.c +++ b/servers/fs/cdprobe.c @@ -25,6 +25,8 @@ PUBLIC int cdprobe(void) #define AT_MINORS 4 int i, minors[AT_MINORS] = { 0, 5, 10, 15 }, dev = 0, found = 0; char pvd[CD_SECTOR]; + printf("\nLooking for boot CD. This may take several minutes.\n" + "Please ignore any error messages.\n\n"); for(i = 0; i < AT_MINORS && !found; i++) { struct super_block probe_super; int r, minor; @@ -35,52 +37,70 @@ PUBLIC int cdprobe(void) * Check for this. */ if((r = dev_open(dev, FS_PROC_NR, R_BIT|W_BIT)) == OK) { + printf("%d. no - can open r/w, so no cd\n", i); dev_close(dev); continue; } + printf("passed no-r/w test ", i); /* 2. The drive should be a CD. Open whole drive and * check for the PVD. */ if((r = dev_open(dev, FS_PROC_NR, R_BIT)) != OK) { + printf("%d. no - can't open readonly\n", i); continue; } + printf("%d. passed open-readonly test ", i); + if((r = dev_io(DEV_READ, dev, FS_PROC_NR, pvd, 16*CD_SECTOR, sizeof(pvd), 0)) != sizeof(pvd)) { + printf("%d. no - can't read pvd (%d)\n", i, r); dev_close(dev); continue; } dev_close(dev); + printf("%d. passed read pvd test ", i); /* Check PVD ID. */ if(pvd[0] != 1 || pvd[1] != 'C' || pvd[2] != 'D' || pvd[3] != '0' || pvd[4] != '0' || pvd[5] != '1' || pvd[6] != 1 || strncmp(pvd + 40, "MINIX", 5)) { + printf("%d. no - cd signature or minix label not found\n", i, r); continue; } + printf("%d. pvd id test ", i); /* 3. Both c0dXp1 and p2 should have a superblock. */ for(minor = minors[i]+2; minor <= minors[i]+3; minor++) { dev = (AT_MAJOR << MAJOR) | minor; - if((r = dev_open(dev, FS_PROC_NR, R_BIT)) != OK) - continue; + if((r = dev_open(dev, FS_PROC_NR, R_BIT)) != OK) { + printf("%d. no - couldn't open subdev %d\n", i, dev); + break; + } probe_super.s_dev = dev; r = read_super(&probe_super); dev_close(dev); if(r != OK) { + printf("%d. subdev %d doesn't contain a superblock\n", i, dev); break; } + printf("%d. (%d) passed superblock test ", i, minor); } if(minor > minors[i]+3) { /* Success? Then set dev to p1. */ dev = (AT_MAJOR << MAJOR) | (minors[i]+2); found = 1; + printf("%d. YES - passed all tests, root is %d\n", i, dev); break; - } + } else printf("%d. no superblock(s)\n", i); } - if(!found) return NO_DEV; + if(!found) { + return NO_DEV; + } + + printf("\nCD probing done.\n"); return dev; }