http://lxr.linux.no/source/include/scsi/scsi_devinfo.h
... Yes we the host must decide how to count Lun's before we can
address the first Lun we've counted ... but to connect
arbitrarily I think we must distinguish the device from all its
Lun's, and every Lun from one another.
Working from comments, not yet grep, I see only three distinct Groups
of flags:
a) Mysteries:
19 #define BLIST_NOSTARTONADD 0x1000 /* do not do automatic
start on add */
9 #define BLIST_BORKEN 0x004 /* Flag for broken
handshaking */
10 #define BLIST_KEY 0x008 /* unlock by special
command */
28 #define BLIST_NO_ULD_ATTACH 0x100000 /* device is actually
for RAID config */
29 #define BLIST_SELECT_NO_ATN 0x200000 /* select without ATN */
The jargon in BLIST_SELECT_NO_ATN is specific to Spi transport of Scsi.
b) Scsi Simplifications:
12 #define BLIST_NOTQ 0x020 /* Buggy Tagged Command
Queuing */
15 #define BLIST_ISROM 0x100 /* Treat as (removable)
CD-ROM */
17 #define BLIST_INQUIRY_36 0x400 /* override additional
length field */
18 #define BLIST_INQUIRY_58 0x800 /* ... for broken
inquiry responses */
20 #define BLIST_MS_SKIP_PAGE_08 0x2000 /* do not send ms page
0x08 */
21 #define BLIST_MS_SKIP_PAGE_3F 0x4000 /* do not send ms page
0x3f */
22 #define BLIST_USE_10_BYTE_MS 0x8000 /* use 10 byte ms
before 6 byte ms */
23 #define BLIST_MS_192_BYTES_FOR_3F 0x10000 /* 192 byte ms
page 0x3f request */
27 #define BLIST_NOT_LOCKABLE 0x80000 /* don't use PREVENT-
ALLOW commands */
NOTQ is for all requests
ISROM and _INQUIRY redefine Scsi op x12 Inquiry
_MS redefine Scsi op x1A Mode Sense 6 and op x5A Mode Sense 10
NOT_LOCKABLE redefine op x1E Prevent/ Allow Medium Removal.
All these I imagine we might have to store per Lun.
c) Lun Counting Techniques:
6 #define BLIST_NOLUN 0x001 /* Only scan LUN 0 */
7 #define BLIST_FORCELUN 0x002 /* Known to have LUNs,
force scanning, deprecated: Use max_luns=N */
11 #define BLIST_SINGLELUN 0x010 /* Do not use LUNs in
parallel */
13 #define BLIST_SPARSELUN 0x040 /* Non consecutive LUN
numbering */
14 #define BLIST_MAX5LUN 0x080 /* Avoid LUNS >= 5 */
16 #define BLIST_LARGELUN 0x200 /* LUNs past 7 on a
SCSI-2 device */
24 #define BLIST_REPORTLUN2 0x20000 /* try REPORT_LUNS even
for SCSI-2 devs (if HBA supports more than 8 LUNs) */
26 #define BLIST_NOREPORTLUN 0x40000 /* don't try
REPORT_LUNS scan (SCSI-3 devs) */
All those I imagine we can store per device, not per Lun, by your
original logic: "any flag that influences how LUN detection should be
performed" "should apply to entire targets".
-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html