Bug 11300

Summary: Device major device numbers wrong on second cpqarray device during install
Product: [Retired] Red Hat Linux Reporter: Chris Wood <chris>
Component: anacondaAssignee: Michael Fulbright <msf>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 6.2CC: msf
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-05-10 19:33:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Chris Wood 2000-05-08 17:44:39 UTC
Compaq DL380 server, with both built in and additional SMART2 controllers

All disks are on add-in card, configured for hardware raid 0+1.
Both SMART devices detected, with on-board assigned device0 and add-in
assigned device1

Using the gdth.img dd disk, although have tried without it as well.

Problem is that when the installer creates the device files for the drive
array below /tmp/ida, it names the files correctly but gives them the wrong
major device number.
All entries for my device (starting c1d0 - it's logical disk 0 on
controller 1) should have major 73, as they are on the second cpqarray
device, but infact they are assigned major 72, which should be used for the
first device.

This makes things pretty much totally uninstallable, as it appears to
create the device files for the partitions on the fly when it needs them,
overwriting any efforts I've made to create my own device files with the
correct settings.

Any help greatfully received...

Chris

Comment 1 Chris Wood 2000-05-10 10:12:59 UTC
More info for you -
The second controller is a 3200. Both controllers and the system BIOS are
patched to the latest available from compaq.
The problem is also reproducible with 6.1, using the Compaq supplied boot disk
(from the compaq.com server support site). If you don't use this boot disk, then
the second controller is not found at all.

Comment 2 Chris Wood 2000-05-10 16:19:59 UTC
OK, I've had a dig in the anaconda source, and I've found the problem.
In the isys dir, there is a file called devnodes.c, which creates devices based
on the device list it's given.
The section in that file that deals with ida devices assumes that there will
only ever be one controller, thus assigning major 72 regardless.

I think something like this patch would fix it:

--- anaconda-6.2.2/isys/devnodes.c	Fri Jan  7 16:57:15 2000
+++ anaconda-6.2.2/isys/devnodes.c.new	Wed May 10 16:09:11 2000
@@ -103,7 +103,11 @@
     } else if (!strncmp(devName, "ida/", 4)) {
 	/* Compaq Smart Array "ida/c0d0{p1} */
 	type = S_IFBLK;
-	major = 72;                    /* controller */
+	if (devName[5] == '0' ) {
+	    major = 72;                    /* controller 0 */
+	} else {
+	    major = 73;                    /* controller 1 */
+	}
 	minor = (devName[7] - '0') * 16;  /* disk */
 	if (strlen(devName) > 8)          /* partition */
 	    minor += atoi(devName + 9);

However, I'm having trouble compiling the  source so haven't been able to verify
as yet. Would appreciate it if you could take a look, verify and get back to me.
I really need this resolving asap - I have a large number of these servers to
get built as quickly as poss.

Cheers,

C.

Comment 3 Jay Turner 2000-05-10 19:33:59 UTC
*** This bug has been marked as a duplicate of 11304 ***