Opération ioctl de pilote de périphérique de l'adaptateur SCSI SCIOINQU (Inquiry)

Objectif

Fournit les moyens de lancer une commande d'interrogation sur une unité SCSI.

Descriptif

L'opération SCIOINQU permet à l'appelant d'émettre une commande d'interrogation d'unité SCSI sur un adaptateur sélectionné. Cette commande peut être utilisée par les routines de gestion du système pour faciliter la configuration des unités SCSI.

Le paramètre Arg de l'opération SCIOINQU est l'adresse d'une structure Enquête_sc_enquête . Cette structure est définie dans le fichier /usr/include/sys/scsi.h . Le bloc de paramètres Enquête_sc_enquête permet à l'appelant de sélectionner les ID SCSI et LUN à interroger.

L'octet d'indicateur SC_ASYNC du bloc de paramètres ne doit pas être défini lors de l'appel initial à cette opération. Cet indicateur n'est défini que si un Erreur de bus et l'appelant ont l'intention de tenter plusieurs tentatives.

En cas de réussite, les données d'interrogation renvoyées peuvent être trouvées à l'adresse spécifiée par l'appelant dans la structure Enquête_sc_enquête . Une exécution réussie se produit si un périphérique répond à l'ID SCSI demandé, mais les données d'interrogation renvoyées doivent être examinées pour voir si l'unité logique demandée existe. Reportez-vous à Spécification SCSI (Small Computer System Interface) pour l'unité appropriée pour le format des données renvoyées.

Remarque: Le pilote de périphérique de l'adaptateur SCSI effectue des procédures normales de reprise après incident lors de l'exécution de cette commande.

Valeurs renvoyées

Une fois cette opération terminée, la valeur 0 est renvoyée. Sinon, une valeur de-1 est retourné et le numéro d'erreur La variable globale est définie sur l'une des valeurs suivantes :

Valeur Descriptif
EDÉFAUT Indique qu'une copie incorrecte entre le noyau et l'espace utilisateur s'est produite.
EINVAL Indique qu'une commande SCIOSTART n'a pas été émise avant cette commande.
EIO Indique qu'une erreur d'E-S irrémédiable s'est produite. Si EIO est renvoyé, l'appelant doit relancer l'opération SCIOINQU car la première commande a peut-être supprimé une condition d'erreur avec l'unité. En cas d'erreur non rétablie, les informations d'état d'erreur de l'adaptateur sont consignées dans le journal des erreurs système.
ENOCONNECT Indique qu'une erreur de bus s'est produite. L'appelant doit répondre en réessayant avec l'indicateur SC_ASYNC défini dans l'octet d'indicateur des paramètres transmis. Si plusieurs tentatives sont effectuées, seule la dernière tentative doit être effectuée à l'aide de l'indicateur SC_ASYNC . En général, le pilote de périphérique de l'adaptateur SCSI ne peut pas déterminer l'unité à l'origine de la panne du bus SCSI, de sorte que cette erreur n'est pas consignée.
ENODEV Indique qu'aucun contrôleur SCSI n'a répondu à l'ID SCSI demandé. Cette valeur de retour implique qu'aucune unité logique n'existe sur l'ID SCSI demandé. Par conséquent, lorsque la valeur de retour ENODEV est détectée, l'appelant peut ignorer cet ID SCSI (et tous les numéros d'unité logique) et passer à l'ID SCSI suivant. Cette condition n'est pas nécessairement une erreur et n'est pas consignée.
ENOMEM Indique que la mémoire est insuffisante pour exécuter la commande.
ETIMEDOUT Indique que l'adaptateur n'a pas répondu avec un statut avant l'expiration de la valeur de délai de commande interne. Lors de la réception de la valeur de retour ETIMEDOUT , l'appelant doit relancer cette commande au moins une fois, car la première commande a pu effacer une condition d'erreur avec l'unité. Cette erreur est consignée dans le journal des erreurs système.

Fichiers

Article Descriptif
/dev/scsi0, /dev/scsi1, ..., /dev/scsi n Fournissez une interface permettant aux pilotes de périphérique SCSI d'accéder aux cartes / périphériques SCSI.
/dev/vscsi0, /dev/vscsi1, ..., /dev/vscsin Fournissez une interface permettant aux pilotes de périphérique Adapter/A SCSI-2 Fast / Wide et SCSI-2 Adapter/A à l'adaptation/A d'accéder aux cartes ou aux périphériques SCSI.