Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jul 1999 14:22:34 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        scsi@freebsd.org
Subject:   CAM scan order perplexities
Message-ID:  <Pine.BSF.4.05.9907091414280.25014-100000@semuta.feral.com>

next in thread | raw e-mail | index | archive | help


Sometimes things seem to hang for me irretrievably when I'm booting-
somewhere usually in the scanning goop that CAM does when you're
booting... Mostly this happens for me with Qlogic FC, but it happens
rarely for me also with the Qlogic SCSI- and it happens a lot for Andrew
Gallatin @ Duke with SCSI on alpha...(I've made things marginally better
for him at the moment by having his isp not scan other than lun 0 and
ignore nvram settings..)....

But this is not what this mail is about... I've been playing around with
watching what goes on to try and sort this out, and here's something very
strange.... I've set up a case where I can turn on/off throwing commands
at a device, so I try multiple SCANS... here's a trace of this:

isp1: Firmware State Config Wait -> Ready
isp1: Loop ID 109, ALPA 0x29
isp1: Target 1 (Loop 0x1) Port ID 0xe8 role Target arrived
 Port WWN 0x2200002037001e57
 Node WWN 0x2000002037001e57
isp1: Target 2 (Loop 0x2) Port ID 0xe4 role Target arrived
 Port WWN 0x22000020370752ba
 Node WWN 0x20000020370752ba
isp1: Target 3 (Loop 0x3) Port ID 0xe2 role Target arrived
 Port WWN 0x2200002037049513
 Node WWN 0x2000002037049513
isp1: Target 4 (Loop 0x4) Port ID 0xe1 role Target arrived
 Port WWN 0x2200002037049a0a
 Node WWN 0x2000002037049a0a
da3 at isp1 bus 0 target 3 lun 0
da3: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da3: 100.000MB/s transfers, Tagged Queueing Enabled
da3: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da2 at isp1 bus 0 target 1 lun 0
da2: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da2: 100.000MB/s transfers, Tagged Queueing Enabled
da2: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da4 at isp1 bus 0 target 4 lun 0
da4: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da4: 100.000MB/s transfers, Tagged Queueing Enabled
da4: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da5 at isp1 bus 0 target 2 lun 0
da5: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da5: 100.000MB/s transfers, Tagged Queueing Enabled
da5: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
~Stopped at      siointr1+0x15c: br      zero,siointr1+0x2e0
<zero=0x0>
db> w/l isp_kill_unit 2
isp_kill_unit                  0        =            0x2
db> c
(da2:isp1:0:1:0): lost device
(da2:isp1:0:1:0): removing device entry
(da5:isp1:0:2:0): lost device
(da5:isp1:0:2:0): removing device entry
(da3:isp1:0:3:0): lost device
(da3:isp1:0:3:0): removing device entry
(da4:isp1:0:4:0): lost device
(da4:isp1:0:4:0): removing device entry
~Stopped at      siointr1+0x15c: br      zero,siointr1+0x2e0
<zero=0x0>
db> w/i isp_kill_unit 2
Unknown size
db> w/l isp_kill_unit 0
isp_kill_unit                0x2        =              0
db> c
da3 at isp1 bus 0 target 2 lun 0
da3: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da3: 100.000MB/s transfers, Tagged Queueing Enabled
da3: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da4 at isp1 bus 0 target 3 lun 0
da4: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da4: 100.000MB/s transfers, Tagged Queueing Enabled
da4: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da2 at isp1 bus 0 target 1 lun 0
da2: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da2: 100.000MB/s transfers, Tagged Queueing Enabled
da2: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)
da5 at isp1 bus 0 target 4 lun 0
da5: <SEAGATE ST19171FCSUN9.0G 1478> Fixed Direct Access SCSI-2 device 
da5: 100.000MB/s transfers, Tagged Queueing Enabled
da5: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C)

So, I have four disks on the loop. I camcontrol rescan once, and get the
first mapping as:

da3 at isp1 bus 0 target 3 lun 0
da2 at isp1 bus 0 target 1 lun 0
da4 at isp1 bus 0 target 4 lun 0
da5 at isp1 bus 0 target 2 lun 0

Now, first of all, this makes no sense to me- the order that this is sent
in *should* be 0..N, but that's not what happens. Why?

So, I turn of connecting to the device, do a camcontrol rescan which
removes all the devices. Then I rescan again and get this:

da3 at isp1 bus 0 target 2 lun 0
da4 at isp1 bus 0 target 3 lun 0
da2 at isp1 bus 0 target 1 lun 0
da5 at isp1 bus 0 target 4 lun 0

I'm sorry- this just cannot be the right thing to have happen. I haven't
changed a thing in my configuration. Everybody is at the same Loop
address. The disks should show back up at the same place. What's going on?

-matt




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9907091414280.25014-100000>