umass regression

Bartosz Fabianowski freebsd at chillt.de
Sun Jan 8 16:14:38 UTC 2012


Interesting timing. I am just in the middle of a debug session to try 
and debug this. I know nothing about umass and/or SCSI, so it is all one 
big learning experience for me. Here is what I am seeing (snippets from 
[1]):

* SCSI command "REPORT LUNS" is sent:

55 53 42 43 03 00 00 00  18 00 00 00 80 00 0C A0
00 00 00 00 00 00 00 00  18 00 00 00 00 00 00

* List of LUNs is received:

00 00 00 10 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 01

This list contains exactly two LUNs, 0 and 1. The list is then processed 
by scsi_xpt.c. After reading the first entry, LUN 0 is scanned and da0 
created. Then, the next entry is read. And something seems to go wrong 
here. The debug output I get is:

cam_debug: next lun to try at index 1 is 0

IMHO, this should not be. The entry at index 1 is LUN 1, not LUN 0. It 
seems that instead of scanning LUN 0 and LUN 1, the code ends up 
scanning LUN 0 twice. I have no idea why though.

- Bartosz


More information about the freebsd-current mailing list