From: julian@tfs.com (Julian Elischer)
Subject: Re: problems with Julian's SCSI 0.3 beta <PATCH>
Organization: TRW Financial Systems
Date: Tue, 6 Oct 1992 04:58:37 GMT

In article <48289@shamash.cdc.com> pbd@runyon.cim.cdc.com (Paul Dokas) writes:
>I installed Julian's scsi subsystem today (0.3 beta, the one that came
>over this weekend) and I have a couple problems with it.
>
>I've got an AHA1542 with an internal WREN IV and an external IMPRIMIS 94601.
>When I boot, fsck complains the it can't open /dev/sd1a because of unknown
>error 424.  I can't even run fsck manually because of this error.
>
>Here's other info that might be helpful:
>
>/var/log/messages records:
>
> pc0<color> at 0x60 irq 1 on isa
> com1 at 0x3f8 irq 4 on isa
> fd0 drives 0: 1.2M, 1: 1.44M at 0x3f0 irq 6 drq 2 on isa
> aha0 reading board settings, 150 nSEC ok, use 200 nSEC
>   **aha0 probing for scsi devices**
>   dev0,lu0: type 0(direct),fixed 'CDC     94171-9         8856' scsi1
>  sd0: 306MB, cyls 1549, heads 9, secs 45, bytes/sec 512
>   dev1,lu0: type 1(sequential),removable 'ARCHIVE VIPER 150  21247-603
>  st0: scsi tape drive, 0 blocks of 512 bytes
>   dev2,lu0: type 0(direct),fixed 'IMPRIMIS94601-15        4614' scsi1
>  sd1: 990MB, cyls 1931, heads 15, secs 70, bytes/sec 512

OK, it all looks ok up to here. So the drive is responding correctly.

> aha0 at 0x330 irq 11 drq 5 on isa
> we0 ethernet address 00:00:c0:a6:65:10 at 0x280 irq 9 on isa
>
>the messages that I get on the console are:
>
>Automatic reboot in progress...
>/dev/rsd0a: 514 files, 8768 used, 10375 free (63 frags, 1289 blocks, 0.3% fragmentation)
>Can't open /dev/rsd1a: Unknown error 424

The 'unknown error' message is not from the scsi driver
therefore I must be returning a bad error code, which the
fsck program is reporting...
hmmm looks at code.....

aha! I think I have it

in sd.c, line 794
the line should read:
	if(sd->flags & SDHAVELABEL) return(ESUCCESS);

	rather than 

	if(sd->flags & SDHAVELABEL) return;

Or in patch form:

*** sd.c.oops   Mon Oct  5 21:41:00 1992
--- sd.c        Mon Oct  5 21:39:58 1992
***************
*** 791,797 ****
	/*******************************************************\
!	* If the inflo is already loaded, use it		*
	\*******************************************************/
!	if(sd->flags & SDHAVELABEL) return;

	bzero(&sd->disklabel,sizeof(struct disklabel));
	/*******************************************************\
--- 791,797 ----
	/*******************************************************\
!	* If the info is already loaded, use it			*
	\*******************************************************/
!	if(sd->flags & SDHAVELABEL) return(ESUCCESS);

	bzero(&sd->disklabel,sizeof(struct disklabel));
	/*******************************************************\


wow a real bug

now the question is WHY did it think it already had a label when
I bet it didn't? well, maybe something else already touched
the disk.. give this a try and we'll see how it goes

julian
+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 2118 Milvia st. Berkeley CA. \___   ___ | country !
+- X_.---._/  USA+(510) 704-3137(wk)           \_/   \\            
          v



Newsgroups: comp.unix.bsd