[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: udev, hotplug,sysfs,dbus et hal !!!



tnemeth@free.fr a écrit :
Selon Nicolas Folin <nicolas.folin@libertysurf.fr>:

J'insiste un peu plus:

J'ai un disque dur usb qui possède deux partitions, mais les données
récupérées par udevinfo sont
les mêmes. Je n'ai que les "major/minor" dans la première partie qui
diffère.

Ces nombres "major/minor" sont-ils uniques ?

    Oui.


ie me permettent-il de détecter "à coup sûr" les partitions 1 et 2,
ou vont-il être changé au prochain redémarrage ?

    Comme on parle de périférique USB, la réponse est *non* : pour
    eux, tout dépend de l'ordre dans lequel tu branches tes périfs
    de type mass-storage (usb-storage).

    Chaque périférique sur ton système a un numéro majeur, mineur et
    un type : périférique bloc (eg disque dur) ou caractère (eg
    souris). Ces numéros et types sont déterminés par les drivers qui
    les gèrent et, grosso-modo, sont affecté dans l'ordre de
    détection.

    Bien qu'il n'est pas possible qu'en ce qui concerne les
    périfériques USB les numéros majeurs et mineurs soient toujours
    idendiques (sauf si tu n'as qu'un seul périf de ce type -- et
    encore), il et toutefois possible de déterminer, grâce aux numéros
    mineurs, quelle sont les partitions : c'est toujours dans l'ordre.

    En ce qui concerne le SCSI, voici un extrait du fichier
    devices.txt inclu dans la documentation du noyau :

  8 block       SCSI disk devices (0-15)
                  0 = /dev/sda          First SCSI disk whole disk
                 16 = /dev/sdb          Second SCSI disk whole disk
                 32 = /dev/sdc          Third SCSI disk whole disk
                    ...
                240 = /dev/sdp          Sixteenth SCSI disk whole disk

    Ce qui signifie que chaque disque scsi (pouvant aller de a à p)
    ne contient au maximum que 15 partitions. Le majeur sera toujours
    8, mais le mineur peut valoir de 1 à 255, en sautant tous les
    multiples de 16 (qui correspondent au disque entier).

    Dans ce cas, la 1ère partition du disque sda aura toujours le
    mineur 1, la 1ère partition du disque sdb aura toujours le mineur
    17, et ainsi de suite.

    Suivant ce que tu comptes faire, il est toujours possible
    d'utiliser ces informations pour en faire quelquechose.


Thomas.
Comme mes périphériques usb sont "assimilés" à du scsi, et que l'ordre à une importance, je crois que je ne
vais pas pouvoir faire ce que je voulais.

D'après ce que j'ai compris de udev, on peut faire des règles pour des partitions de disque dur, mais pas pour des disques dur entier. Il n'y a aucun moyen de dire à udev que /dev/disqueUSB est un disque dur et qu'il détecte tout seul les (sous)-partitions ?
Il créerait tout seul /dev/disqueUSB1 et /dev/disqueUSB2...

J'ai voulu essayer en faisant une règle sur /dev/sdb au lieu de /dev/sdb1, mais ça ne donne
rien .... dommage...
Si quelqu'un sait (possible, pas possible, si possible : comment ?...)...

Merci encore.



Reply to: