linux user group brescia

immagine del castello

Archivio della mailing list

Avvio disco SCSI

Giuseppe Corbelli cowo a lugbs.linux.it
Gio 23 Gen 2003 13:26:29 UTC
On Thu, Jan 23, 2003 at 12:35:43PM +0100, marco ghidinelli wrote:
> > Il controller magari puo' essere impostato per non fare lo spinup, e
> > tramite jumper lo stesso vale per il disco.
> 
> ma poi il kernel quando trova un disco non accessibile tenta di leggerci e
> in automatico fa lo spinup del disco.
E io che ho detto?
 
> ho guardato anch'io sd.c x trovare qualche opzione tipo: non fare lo
> spinup dei dischi, ma non ho trovato nulla.
Se il sistema boota dal disco SCSI attualmente non c'e' nulla da fare.
sd.c non accetta opzioni in questo senso
Non mi pare che nei driver (ne scorsi un paio) ci sia la possibilita' di
fare una scansione selettiva del bus.

> l'unica soluzione un po' sensata che ho trovato - ma ovviamente e'
> rischiosa - e' quella di attaccare l'alimentazione del disco e di non
> mettere ne il jumper x lo spinup ne la piattina nel connettore dati.
> 
> se gli serve il disco attacca il connettore, manda un comando di spinup,
> echo 'add single device blablabla', usa il disco, echo 'remove single
> device blablabla' , spindown, stacca il connettore.
> 
> molto sporco, ovviamente.
Macellaio?

> oppure un parametro in piu' in sd.c: sembrerebbe facile... :)
Oppure, se si usa un initrd, smanacciare il file linuxrc:
* Montare il /proc prima di procedere all'insmod del controller/disco
* insmod driver controller
* echo "scsi remove-single-device x y z t">/proc/scsi/scsi
* insmod sd_mod

Previo annullamento spinup automatico e da parte del controller.
Non sono sicuro che funzioni e non mi metto a provare.
Dunque si cercano volontari per il beta test. E si accettano previsioni
sulla durata del sistema SCSI in caso di adozione del metodo Ghidinelli. Io
dico 1 settimana con utilizzo 1/gg.

> > ......................................................................
> > Un'occhiata veloce ai sorgenti di sd.c sembrerebbe chiarire le idee:
> > /* Look for non-removable devices that return NOT_READY. * Issue
> > command to spin up drive for these cases. */ if (the_result &&
> > !rscsi_disks[i].device->removable && SRpnt->sr_sense_buffer[2] ==
> > NOT_READY) {
> >
> > Se il disco e' fermo ritorna NOT READY ad un comando TEST UNIT READY.
> 
> si, ma poi il sistema comunque tenta di farlo partire..
Appunto.

-- 
  	Giuseppe "Cowo" Corbelli ~\/~ My software: http://cowo.yoda2000.net
 -<! A conclusion is simply the place where someone got tired of thinking. !>-



Maggiori informazioni sulla lista Lug