From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Description of problem: EMC PowerPath creates devices emcpowera, emcpowerb, etc. The sixteenth lun is emcpowerp, the 17th emcpowerq, etc. But in /proc/partitions, after 16 devices the names cycle back to a. The 17th device displays as emcpowera, the 18th as emcpowerb, etc. The real emcpowera displays with major number 232, and the real emcpowerq also displays as emcpowera, but with major number 233, and so on. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.reboot 2. 3. Additional info:
Adding me to CC list.. for this ticket.
Although /proc/partitions is an informational display, some software tools obtain information from it. E.g., Oracle tools display lists of devices by reading /proc/partitions. The result is that it is not possible to select the correct device name from the tool. This is therefore a high priority problem for us.
This behavior is controlled by the disk_name() routine. Its default behavior is to start each new major number series from 'a'. There's a whole boatload of special cases in there to handle device types that don't work this way (e.g. IDE devices, multiple SCSI majors, etc). To fix this we would have to add such a special case to disk_name(). I'm not sure we want to do this for a third-party driver. The alternative would be to have the PowerPath driver itself assign a different "base name" to each major number (e.g. emcpower1, emcpower2) and have disk_name add the letters (e.g. emcpower1a-q, emcpower2a-q).
The fix for this is as Jim describes above. PowerPath should assign different base names for each major. Adding a special case for PowerPath is not a realistic option here.