Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 327991

Summary: wrong /dev/sdx assignments with gentoo-sources-2.6.34-r1
Product: Gentoo Linux Reporter: Marco DR <marco.dr>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard: linux-2.6.34-regression
Package list:
Runtime testing required: ---

Description Marco DR 2010-07-12 20:46:39 UTC
After upgrading from 2.6.33-r2 to 2.6.34-r1, the SATA drives device names (AHCI) were assigned in a different order. In particular, my 3 SATA drives list now as sda, sdb, sdg instead of sda, sdb, sdc. My card reader device is assigned sd(c,d,e,f) in between. Reverting to 2.6.33-r2 solves the problem.

In both cases, USB_STORAGE and SATA_AHCI are both compiled directly in the kernel (not as a module).

This problem has been experienced by at least another user: http://forums.gentoo.org/viewtopic-p-6349266.html

Reproducible: Always

Steps to Reproduce:




===============================================
Relevant (partial) output from lspci:
===============================================
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller

===============================================
/var/log/messages (gentoo-sources-2.6.33-r2)
===============================================
Jul 12 21:28:49 bestia kernel: [    1.814081] scsi 0:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:28:49 bestia kernel: [    1.814284] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:28:49 bestia kernel: [    1.814303] sd 0:0:0:0: Attached scsi generic sg0 type 0
Jul 12 21:28:49 bestia kernel: [    1.814343] sd 0:0:0:0: [sda] Write Protect is off
Jul 12 21:28:49 bestia kernel: [    1.814344] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
Jul 12 21:28:49 bestia kernel: [    1.814358] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
(...)
Jul 12 21:28:49 bestia kernel: [    1.927871]  sda:
(...)
Jul 12 21:28:49 bestia kernel: [    1.981414]  sda1 sda2 sda3 sda4
(...)
Jul 12 21:28:49 bestia kernel: [    2.017413] sd 0:0:0:0: [sda] Attached SCSI disk
(...)
Jul 12 21:28:49 bestia kernel: [    2.641033] scsi 1:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:28:49 bestia kernel: [    2.653040] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:28:49 bestia kernel: [    2.653135] sd 1:0:0:0: Attached scsi generic sg1 type 0
Jul 12 21:28:49 bestia kernel: [    2.675692] sd 1:0:0:0: [sdb] Write Protect is off
Jul 12 21:28:49 bestia kernel: [    2.687175] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
Jul 12 21:28:49 bestia kernel: [    2.687190] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jul 12 21:28:49 bestia kernel: [    2.698670]  sdb: sdb1 sdb2 sdb3 sdb4
Jul 12 21:28:49 bestia kernel: [    2.728312] sd 1:0:0:0: [sdb] Attached SCSI disk
(...)
Jul 12 21:28:49 bestia kernel: [    3.529107] scsi 2:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:28:49 bestia kernel: [    3.541792] sd 2:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:28:49 bestia kernel: [    3.541889] sd 2:0:0:0: Attached scsi generic sg2 type 0
Jul 12 21:28:49 bestia kernel: [    3.566572] sd 2:0:0:0: [sdc] Write Protect is off
Jul 12 21:28:49 bestia kernel: [    3.578898] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
Jul 12 21:28:49 bestia kernel: [    3.578913] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jul 12 21:28:49 bestia kernel: [    3.591535]  sdc: sdc1 sdc2 sdc3 sdc4
Jul 12 21:28:49 bestia kernel: [    3.626182] sd 2:0:0:0: [sdc] Attached SCSI disk
(...)
Jul 12 21:28:49 bestia kernel: [    7.141843] scsi 9:0:0:0: Direct-Access     Generic  USB SD Reader    1.00 PQ: 0 ANSI: 0
Jul 12 21:28:49 bestia kernel: [    7.142348] scsi 9:0:0:1: Direct-Access     Generic  USB CF Reader    1.01 PQ: 0 ANSI: 0
Jul 12 21:28:49 bestia kernel: [    7.142852] scsi 9:0:0:2: Direct-Access     Generic  USB SM Reader    1.02 PQ: 0 ANSI: 0
Jul 12 21:28:49 bestia kernel: [    7.143342] scsi 9:0:0:3: Direct-Access     Generic  USB MS Reader    1.03 PQ: 0 ANSI: 0
Jul 12 21:28:49 bestia kernel: [    7.144278] sd 9:0:0:0: Attached scsi generic sg4 type 0
Jul 12 21:28:49 bestia kernel: [    7.144640] sd 9:0:0:1: Attached scsi generic sg5 type 0
Jul 12 21:28:49 bestia kernel: [    7.144979] sd 9:0:0:2: Attached scsi generic sg6 type 0
Jul 12 21:28:49 bestia kernel: [    7.145326] sd 9:0:0:3: Attached scsi generic sg7 type 0
Jul 12 21:28:49 bestia kernel: [    7.146964] sd 9:0:0:0: [sdd] Attached SCSI removable disk
Jul 12 21:28:49 bestia kernel: [    7.148224] sd 9:0:0:1: [sde] Attached SCSI removable disk
Jul 12 21:28:49 bestia kernel: [    7.148979] sd 9:0:0:2: [sdf] Attached SCSI removable disk
Jul 12 21:28:49 bestia kernel: [    7.149703] sd 9:0:0:3: [sdg] Attached SCSI removable disk

===============================================
/var/log/messages (gentoo-sources-2.6.34-r1)
===============================================
Jul 12 21:22:54 bestia kernel: [    1.849083] scsi 0:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:22:54 bestia kernel: [    1.849418] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:22:54 bestia kernel: [    1.849431] sd 0:0:0:0: Attached scsi generic sg0 type 0
Jul 12 21:22:54 bestia kernel: [    1.849473] sd 0:0:0:0: [sda] Write Protect is off
Jul 12 21:22:54 bestia kernel: [    1.849475] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
Jul 12 21:22:54 bestia kernel: [    1.849488] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
(...)
Jul 12 21:22:54 bestia kernel: [    1.983187]  sda:
(...)
Jul 12 21:22:54 bestia kernel: [    2.014826]  sda1 sda2 sda3 sda4
(...)
Jul 12 21:22:54 bestia kernel: [    2.304562] sd 0:0:0:0: [sda] Attached SCSI disk
(...)
Jul 12 21:22:54 bestia kernel: [    2.698126] scsi 1:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:22:54 bestia kernel: [    2.709601] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:22:54 bestia kernel: [    2.709704] sd 1:0:0:0: Attached scsi generic sg1 type 0
Jul 12 21:22:54 bestia kernel: [    2.732044] sd 1:0:0:0: [sdb] Write Protect is off
Jul 12 21:22:54 bestia kernel: [    2.743234] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
Jul 12 21:22:54 bestia kernel: [    2.743251] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jul 12 21:22:54 bestia kernel: [    2.754685]  sdb: sdb1 sdb2 sdb3 sdb4
Jul 12 21:22:54 bestia kernel: [    2.786622] sd 1:0:0:0: [sdb] Attached SCSI disk
Jul 12 21:22:54 bestia kernel: [    2.983810] scsi 9:0:0:0: Direct-Access     Generic  USB SD Reader    1.00 PQ: 0 ANSI: 0
Jul 12 21:22:54 bestia kernel: [    2.995696] scsi 9:0:0:1: Direct-Access     Generic  USB CF Reader    1.01 PQ: 0 ANSI: 0
Jul 12 21:22:54 bestia kernel: [    3.007440] scsi 9:0:0:2: Direct-Access     Generic  USB SM Reader    1.02 PQ: 0 ANSI: 0
Jul 12 21:22:54 bestia kernel: [    3.018935] scsi 9:0:0:3: Direct-Access     Generic  USB MS Reader    1.03 PQ: 0 ANSI: 0
Jul 12 21:22:54 bestia kernel: [    3.030397] sd 9:0:0:0: Attached scsi generic sg2 type 0
Jul 12 21:22:54 bestia kernel: [    3.041601] sd 9:0:0:1: Attached scsi generic sg3 type 0
Jul 12 21:22:54 bestia kernel: [    3.052289] usb 3-2: new full speed USB device using uhci_hcd and address 2
Jul 12 21:22:54 bestia kernel: [    3.052535] sd 9:0:0:2: Attached scsi generic sg4 type 0
Jul 12 21:22:54 bestia kernel: [    3.052803] sd 9:0:0:3: Attached scsi generic sg5 type 0
Jul 12 21:22:54 bestia kernel: [    3.052809] scsi_scan_9 used greatest stack depth: 5648 bytes left
Jul 12 21:22:54 bestia kernel: [    3.097553] sd 9:0:0:0: [sdc] Attached SCSI removable disk
Jul 12 21:22:54 bestia kernel: [    3.108799] sd 9:0:0:1: [sdd] Attached SCSI removable disk
Jul 12 21:22:54 bestia kernel: [    3.120054] sd 9:0:0:2: [sde] Attached SCSI removable disk
Jul 12 21:22:54 bestia kernel: [    3.130585] sd 9:0:0:3: [sdf] Attached SCSI removable disk
(...)
Jul 12 21:22:54 bestia kernel: [    3.445033] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Jul 12 21:22:54 bestia kernel: [    3.497961] ata3.00: ATA-7: ST3500630AS, 3.AAK, max UDMA/133
Jul 12 21:22:54 bestia kernel: [    3.509074] ata3.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
(...)
Jul 12 21:22:54 bestia kernel: [    3.556270] ata3.00: configured for UDMA/133
Jul 12 21:22:54 bestia kernel: [    3.589084] scsi 2:0:0:0: Direct-Access     ATA      ST3500630AS      3.AA PQ: 0 ANSI: 5
Jul 12 21:22:54 bestia kernel: [    3.600489] sd 2:0:0:0: [sdg] 976773168 512-byte logical blocks: (500 GB/465 GiB)
Jul 12 21:22:54 bestia kernel: [    3.601249] sd 2:0:0:0: Attached scsi generic sg6 type 0
Jul 12 21:22:54 bestia kernel: [    3.622853] sd 2:0:0:0: [sdg] Write Protect is off
Jul 12 21:22:54 bestia kernel: [    3.633987] sd 2:0:0:0: [sdg] Mode Sense: 00 3a 00 00
Jul 12 21:22:54 bestia kernel: [    3.634012] sd 2:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jul 12 21:22:54 bestia kernel: [    3.645376]  sdg: sdg1 sdg2 sdg3 sdg4
Jul 12 21:22:54 bestia kernel: [    3.674269] sd 2:0:0:0: [sdg] Attached SCSI disk
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2010-07-13 08:19:20 UTC
Maybe 2.6.34 behaves as it should. afaik kernel looks on bios device order before we assigns letters to the drives
Comment 2 Marco DR 2010-07-13 20:38:19 UTC
If this were true, how do you explain the order given to the scsi devices? With kernel 2.6.34, I have:

sd 0:0:0:0: [sda] (sata disk 1)
sd 1:0:0:0: [sdb] (sata disk 2)
sd 9:0:0:0: [sdc] (card reader device 1)
sd 9:0:0:1: [sdd] (card reader device 2)
sd 9:0:0:2: [sde] (card reader device 3)
sd 9:0:0:3: [sdf] (card reader device 4)
sd 2:0:0:0: [sdg] (sata disk 3)

the numbers (0,1,9,2) assigned to the scsi devices do not correspond to the letters chosen by the kernel (a,b,c...). It seems like two kernel components (AHCI and USB_STORAGE) take the letters concurrently, "first come first served".

Comment 3 George Kadianakis (RETIRED) gentoo-dev 2010-07-28 16:40:39 UTC
(In reply to comment #2)
> If this were true, how do you explain the order given to the scsi devices? With
> kernel 2.6.34, I have:
> 
> sd 0:0:0:0: [sda] (sata disk 1)
> sd 1:0:0:0: [sdb] (sata disk 2)
> sd 9:0:0:0: [sdc] (card reader device 1)
> sd 9:0:0:1: [sdd] (card reader device 2)
> sd 9:0:0:2: [sde] (card reader device 3)
> sd 9:0:0:3: [sdf] (card reader device 4)
> sd 2:0:0:0: [sdg] (sata disk 3)
> 
> the numbers (0,1,9,2) assigned to the scsi devices do not correspond to the
> letters chosen by the kernel (a,b,c...). It seems like two kernel components
> (AHCI and USB_STORAGE) take the letters concurrently, "first come first
> served".
> 

Due to asynchronous probing you can't guarantee that device names will be intuitionally ordered.

This is not much of a problem though since you can easily manage device nodes using udev.

Even though this might look like a regression, this is not a bug and I'd suggest you use udev with labels or uuids to control your device nodes instead of relying on the kernel :)