Fichier special /dev/megaraid0 pour les noyaux Linux récents

En février 2008, la gestion du fichier spécial pour le management des cartes SCSI Megaraid (en général, /dev/megaraid0) a changé dans le noyau Linux. Auparavant, on notait la présence de megadev dans /proc/devices, car un numéro majeur (et dynamique) de périphérique lui était attribué. Les différents scripts utilisaient donc des scripts ressemblant à :

MAJOR=`grep megadev /proc/devices|awk '{print $1}'`
mknod /dev/megadev0  c $MAJOR 0

Mais un numéro majeur ne semblait pas utile, car seul un fichier spécial est nécessaire (même avec plusieurs cartes Megaraid) et le numéro mineur n’était jamais utilisé. Cela a donc changé à partir du noyau Linux 2.6.25, et c’est désormais un numéro mineur (et dynamique) et un numéro majeur correspondant à misc qui définit le périphérique /dev/megaraid0. On retrouve ainsi des bugreports chez Debian (#399783) et Gentoo (#233295) à propos de ce changement.

Concrètement, ce matin lors d’une mise-à-jour d’un noyau Linux de 2.6.21 en 2.6.28, le fichier spécial /dev/megaraid0 avec les numéros majeur/mineur 253/0 n’était plus utilisable par les outils de management du RAID. La suppression de ce fichier et l’installation d’udev a permis de retrouver un /dev/megaraid0 fonctionnel.

Vus : 1121
Publié par Gregory Colpart : 16