|
A causa dei vincoli imposti dall'uso di Linux di un dev_t di 16 bit con soli 8 bit allocati al numero secondario, i numeri minori dei disci, nastri, CD-ROM e disposisitivi SCSI generici sono assegnati dinamicamente seguendo la seguente procedura:
Per tutti gli adattatori host SCSI, da scsi0 a scsiN Per tutti gli ID SCSI su questo bus, da 0 a 7, eccetto per questo adattatore host ID. Per tutte le unità logiche, da 0 tramite max_scsi_luns: - Provare la combinazione bus, target, LUN inviando un comando TEST UNIT READY. Se non c'è possibilità che altre unità siano qui, non provare altri LUN per questa combinazione bus + SCSI ID - Inviare un comando INQUIRY per determinare cosa è stato trovato incluso il tipo di dispositivo, il produttore, il modello, la revisione del firmware. - Passare i risultati di ciò a una funzione speciale di ricognizione per ciascun driver di alto livello presente (cioè dischi, nastri ecc). Attaccare questo dispositivo alla prossima unità disponibile per ciascun driver che sia disponibile per gestirlo. Il device generico si attacca a ogni dispositivo. - Se si trattava di un SCSI-I, o di un dispositivo appartenente ad una lista di dispositivi noti per non gestire LUN multipli, non provare alcun altro LUN su questo bus + SCSI ID. - Se si tratta di un dispositivo noto per avere LUN multipli, allora viene forzata una scansione di tutto lo spettro Lun, scavalcando max_scsi_luns.
Ci sono spesso problemi con questo approccio a causa del fatto che se possedete un sistema dove alcuni dispositivi sono presenti saltuariamente, allora i numeri secondari per un dato dispositivo dipenderanno da quali dispositivi erano presenti al momento del boot. Questo può far insorgere dei problemi, perché gli script rc o il file /etc/fstab potrebbero contenere istruzioni per il montaggio di particolari partizioni che falliscono quando il disco appare con un numero secondario diverso.
Questo problema non è ancora stato del tutto risolto. C'è un programma che può essere trovato su tsx-11 che crea una gerarchia /dev/scsi basata sui numeri host, id e lun. Questo sistema non è perfetto, ma aiuta a risolvere alcuni problemi.
Una soluzione migliore verrà probabilmente fornita dalla pseudo directory /proc/scsi. Questo è attualmente un lavoro in corso, quindi al momento attuale non possiamo descrivere la forma della soluzione, ma al momento in cui scriviamo appare essere un'approccio promettente per la soluzione di alcune delle priorità.
Hosting by: hurra.com
Generated: 2007-01-26 17:56:13