Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!rochester!ur-tut!sunybcs!rutgers.rutgers.edu!sri-unix!sri-spam!mordor!lll-lcc!unisoft!mtxinu!ed
From: ed@mtxinu.UUCP (Ed Gould)
Newsgroups: comp.bugs.4bsd,comp.unix.wizards
Subject: Re: Cant access disks on second UDA50
Message-ID: <462@mtxinu.UUCP>
Date: Mon, 20-Jul-87 02:52:06 EDT
Article-I.D.: mtxinu.462
Posted: Mon Jul 20 02:52:06 1987
Date-Received: Tue, 21-Jul-87 04:40:15 EDT
References: <6683@dartvax.UUCP> <441@eplrx7.UUCP>
Reply-To: ed@mtxinu.UUCP (Ed Gould)
Organization: mt Xinu, Berkeley
Lines: 77
Keywords: unibus uda50
Xref: mnetor comp.bugs.4bsd:457 comp.unix.wizards:3324

>> For testing purposes, we moved 2 RA81s from uda0 to uda1, so in terms of the
>> config file we went from this...

>> controller	uda0	at uba0 csr 0172150		vector udintr
>> disk		ra0	at uda0 drive 0
>> disk		ra1	at uda0 drive 1
>> disk		ra2	at uda0 drive 2
>> disk		ra3	at uda0 drive 3

>> ...to this...

>> controller	uda0	at uba0 csr 0172150		vector udintr
>> disk		ra0	at uda0 drive 0
>> disk		ra1	at uda0 drive 1
>> controller	uda1	at uba0 csr 0172550		vector udintr
>> disk		ra2	at uda1 drive 2
>> disk		ra3	at uda1 drive 3

>I have 2 uda's running on several MicroVaxes,  and they all run fine.  I
>suspect that it's you config that may be wrong.  Each uda can support 4
>devices,  and you have to (or should) tell config about them.  So,  your
>config should look like this:

>controller	uda0	at uba0 csr 0172150		vector udintr
>disk		ra0	at uda0 drive 0
>disk		ra1	at uda0 drive 1
>disk		ra2	at uda0 drive 2
>disk		ra3	at uda0 drive 3
>controller	uda1	at uba0 csr 0172550(or 0160334)	vector udintr
>disk		ra4	at uda1 drive 0
>disk		ra5	at uda1 drive 1
>disk		ra6	at uda1 drive 2
>disk		ra7	at uda1 drive 3

>In your configuration,  you're asking unix to find ra2 on uda1 drive 2.
>This is not logically possible.

Close, but not quite.  The correct config would be

controller	uda0	at uba0 csr 0172150		vector udintr
disk		ra0	at uda0 drive 0
disk		ra1	at uda0 drive 1
controller	uda1	at uba0 csr 0172550		vector udintr
disk		ra2	at uda1 drive 0
disk		ra3	at uda1 drive 1

The config file defines a mapping between logical names (ra0) and
physical names (uda0, drive 0).  This mapping is essentially arbitrary.
In order for another mapping (names in /dev to device numbers) to remain
untouched by this experiment, it is important to maintain the names
ra2 and ra3 for the two drives that were moved.  Otherwise, the entries
in /dev would need to be changed.  There is no need to describe devices
that do not exist, nor is there a need to reserve names for them.
(Sometines, though, it is convenient to do so.)

The entire (new) mapping may be summarized as follows.  Note that there
are eight minor devices for each physical disk.

	/dev/ra0?   =>   (9, ( 0- 7)) == ra0   =>   uda0 drive 0
	/dev/ra1?   =>   (9, ( 8-15)) == ra1   =>   uda0 drive 1
	/dev/ra2?   =>   (9, (16-23)) == ra2   =>   uda1 drive 0
	/dev/ra3?   =>   (9, (24-31)) == ra3   =>   uda1 drive 1
	    |		  |	|	  |	    ------------
	    |		  |	|	  |	    physical name
	    |		  |	|	  --------- logical name
	    |		  |	------------------- minor device number
	    |		  ------------------------- major device number
	    --------------------------------------- name in file system




-- 
Ed Gould                    mt Xinu, 2560 Ninth St., Berkeley, CA  94710  USA
{ucbvax,decvax}!mtxinu!ed   +1 415 644 0146

"A man of quality is not threatened by a woman of equality."