hotplug e storage (was Re: [Linux-Biella] che distro per P200?)

Simone Caldana linux@ml.bilug.linux.it
Thu, 10 Jun 2004 17:06:56 +0300


Marco Ermini wrote:
>>>Il che ti lascia capire come funziona...
>>
>>bene?
> 
> Boh... dipende da chi lo usa

grazie per il complimento.

>>>Secondo me dovrei sapere cosa gira il mio computer (oddio... le ultime
>>>parole famose... ;-)
>>
>>e grammaticalmente errate, a meno che tu abbia il case su un giradischi...
> 
> Erano volutamente "girate" in modo da essere "simpatiche"

comunque le giri non ottieni alcuna frase corretta.

Ed ora, qualcosa di completamente diverso.

essendo proprietario di 3 device di storage pluggabili (chiavette usb, 
macchina fotografica digitale con CF e iPod) mi sono posto il problema 
di averli montati in un posto fisso, indipendemente dall'ordine di plug 
(ricordo che il il layer scsi alloca "il primo device libero" quando 
colloquia con device rimuovibili)

Il problema con il quale mi sono scontrato e' che l'evento hotplug 
USB/firewire e l'evento SCSI relativo sono due eventi privi di 
relazione, per cui l'evento SCSI in se' non riporta sufficienti 
informazioni per capire che device e' stato appena mappato dal layer SCSI.

La mia soluzione si affida al fatto che nel sysfs il DEVPATH dell'evento 
SCSI e' gerarchicamente "sotto" al DEVPATH dell'evento USB/firewire, per 
cui con una serie di script un po' malati ricavo il "vero" device e con 
mknod creo un device con nome noto che punta al device SCSI corretto al 
momento.

Ora, a parte il fatto che il kernel non genera eventi di remove per il 
bus firewire, mi chiedo, voi o le distro che conoscete bene come 
risolvono il problema di montare un certo device (e quando dico certo 
intendo vendor/product ID) in una posizione costante?
Qualche distro esplora il nuovo device e usa l'eventuale label dei 
filesystem (come fa mac os x)?


-- 
. Simone Caldana: Pear Minister of Foreign Affairs     .
. Aiming to become a vi mug - currently jumping around .
. simone@caldana.org         http://simone.caldana.org .