fita SCSI Device Driver

Propósito

Suporta o driver de dispositivo de meio de armazenamento em massa de acesso sequencial.

Sintaxe

#include  <sys/devinfo.h>
#include  <sys/scsi.h>
#include  <sys/tape.h>
Nota: Os /dev/rmt0 através de /dev/rmt255 arquivos especiais fornecem acesso a fitas magnéticas. As fitas magnéticas são usadas principalmente para backup, arquivos de arquivos e outro armazenamento offline.

Dispositivo-Subroutines Dependentes

A maioria das operações de fita é implementada usando as subroutines aberto, leitura, escrevere fechar . No entanto, a subroutine openx deve ser usada se o dispositivo deve ser aberto no modo Diagnóstico.

abrir e fechar Subroutines

A subroutine openx é destinada para uso pelos comandos e utilitários de diagnóstico. A autoridade adequada é necessária para execução. A tentativa de executar esta sub-rotina sem a autoridade adequada faz com que a sub-rotina retorne um valor de-1 e define o errno variável global para EPERMA .

O subroutine openx permite que o driver do dispositivo entre no modo de Diagnóstico e desabilita a lógica de retentativa de comando. Esta ação permite a execução de operações ioctl que desempenham funções especiais associadas ao processamento de diagnóstico. Outras capacidades openx , como abertura forçada e reservas retidas, também estão disponíveis.

O parâmetro ext passado para a subroutine openx seleciona a operação a ser utilizada para o dispositivo de destino. O parâmetro ext é definido no arquivo /usr/include/sys/scsi.h . Este parâmetro pode conter qualquer combinação dos seguintes valores de sinalização logicamente ORed juntos:

Valor da Sin Descrição
SC_DIAGNÓSTICO Coloca o dispositivo selecionado no modo Diagnóstico. Este modo é singularmente entrante. Quando um dispositivo está no modo Diagnóstico, as operações SCSI são realizadas durante as operações aberto ou fechar e o registro de erros é desativado. No Modo Diagnóstico, apenas as operações fechar e ioctl são aceitas. Todas as outras sub-rotinas suportadas pelo dispositivo retornam um valor de-1 , com o errno variável global definida para um valor de EACCES .

Um dispositivo pode ser aberto no modo Diagnóstico apenas se o dispositivo de destino não for aberto atualmente. Se for feita uma tentativa de abrir um dispositivo no modo Diagnóstico e o dispositivo alvo já estiver aberto, um valor de-1 é devolvido e o errno variável global está definida como EACCES .

SC_FORCED_OPEN Força um reset de dispositivo de barramento (BDR) independentemente de outro iniciador ter o dispositivo reservado. O reset do dispositivo de barramento SCSI é enviado para o dispositivo antes do início da sequência aberto . Caso contrário, a operação aberto é executada normalmente.
SC_RETAIN_RESERVA Mantém a reserva do dispositivo após uma operação fechar ao não emitir a liberação. Esta sinalização evita que outros iniciadores usem o dispositivo, a menos que quebrem a reserva da máquina host.

"Opções SCSI para o openx Subroutine" em Kernel Extensões e Conceitos de Programação de Suporte de Dispositivo dá informações mais específicas sobre as operações abertas.

subrotina ioctl

A operação ioctl STIOCMD fornece os meios para o envio de comandos SCSI diretamente para um dispositivo de fita. Isso permite que um aplicativo emita comandos SCSI específicos que não são suportados diretamente pelo driver do dispositivo de fita.

Para utilizar a operação STIOCMD , o dispositivo deve ser aberto no modo Diagnóstico. Se este comando for tentado enquanto o dispositivo não estiver no modo Diagnóstico, um valor de-1 é devolvido e o errno variável global é definida com um valor de EACCES . A operação STIOCMD passa o endereço de uma estrutura scsi_iocmd . Essa estrutura está definida no/usr/include/sys/scsi_buf.h arquivo.

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para obter informações sobre a emissão dos parâmetros.

Condições de Erro

Além desses erros listados, o ioctl, aberto, leiturae escrever subroutines contra este dispositivo não são bem sucedidos nas seguintes circunstâncias:

Erro Descrição
EACCES Indica que um comando de diagnóstico foi emitido para um dispositivo não no modo Diagnóstico.
EAGAIN Indica que foi feita uma tentativa de abrir um dispositivo que já estava aberto.
EBUSY Indica que o dispositivo de destino é reservado por outro iniciador.
EINVAL Indica que um valor de O_APPEND é fornecido como o modo em que se abre.
EINVAL Indica que o parâmetro nbyte fornecido por uma operação leitura ou escrever não é um múltiplo do tamanho do bloco.
EINVAL Indica que um parâmetro para uma operação ioctl não é válido.
EINVAL Indica que a operação ioctl solicitada não é suportada no dispositivo atual.
EIO Indica que a unidade de fita foi reajustada ou que a fita foi alterada. Este erro é retornado em aberto se a operação anterior a fita deixou a fita posicionada além do início da fita ao fechar.
EIO Indica que o dispositivo não poderia espaço para frente ou inverter o número de registros especificados pelost_countcampo antes de encontrar um EOM (fim de mídia) ou uma marca de arquivo.
EMÉDIA Indica que o dispositivo de fita encontrou um erro de mídia irrecuperável.
EMFILE Indica que uma operação aberto foi tentada para um adaptador SCSI que já possui o número máximo permitido de dispositivos abertos.
ENOTREADY Indica que não há fita na unidade ou a unidade não está pronta.
ENXIO Indica que houve uma tentativa de gravar em uma fita que está na EOM.
EPERM Indica que esta subroutine requer autoridade apropriada.
ETIMEDOUT Indica um comando ter cronometeado.
EWRPROTECT Indica uma operação aberto solicitando o modo de leitura / gravação foi tentado em uma fita de leitura.
EWRPROTECT Indica que uma operação ioctl que afeta a mídia foi tentado em uma fita de leitura.

Informações de Confiabilidade e Serviceability

Os erros retornados dos dispositivos de fita são os seguintes:

Erro Descrição
COMANDO ABORTADO Indica que o dispositivo acabou com o comando.
Verificação de espaço em branco Indica que um comando de leitura encontrou uma fita em branco.
PROTEÇÃO DE DADOS Indica que uma gravação foi tentada em uma fita protegida por gravação.
BOA CONCLUSÃO Indica que o comando foi concluído com sucesso.
Erro de Hardware Indica que uma falha de hardware irrecuperável ocorreu durante a execução do comando ou durante um auto-teste.
Pedido ilegal Indica um comando ilegal ou parâmetro de comando.
Erro Médio Indica que o comando terminou com uma condição de erro de mídia não recuperada. Essa condição pode ser causada por uma falha de fita ou por uma cabeça suja.
Não Pronta Indica que a unidade lógica está offline.
Erro Recuperado Indica que o comando foi bem-sucedido depois que alguma recuperação foi aplicada.
Atenção da unidade Indica que o dispositivo foi reajustado ou ligado.

Erros de comandos médios, de hardware e abortados da lista acima devem ser registrados a cada vez que ocorrerem. O erro COMANDO ABORTADO pode ser recuperável, mas o erro é registrado se a recuperação falhar. Para os tipos de erro ERRO RECUPERADO e recuperados COMANDO ABORTADO , os limites são mantidos; quando são excedidos, um erro é registrado. Os limites são então apurados.

Nota: Há erros de adaptador relacionados ao dispositivo que são registrados toda vez que eles ocorrem.

Valores de Registro de Erro para Erros de Mídias do Dispositivo de

Os campos definidos no modelo de registro de erro para erros de mídia de dispositivo de fita são:

autorização Descrição
Comment Igual a erro de mídia de fita.
Class Igual a H, indicando um erro de hardware.
Report Igual a TRUE, indicando esse erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando uma entrada de log de erro deve ser criado quando este erro ocorrer.
Alert Igual a FALSE, indicando que este erro não é alertao.
Err_Type Igual a PERM, indicando um fracasso permanente.
Err_Desc Igual a 1332, indicando uma falha de operação de fita.
Prob_Causes Igual a 5003, indicando mídia de fita.
User_Causes Igual a 5100 e 7401, indicando uma causa originária com a fita e a mídia defeituosa, respectivamente.
User_Actions Iguais a 1601 e 0000, indicando, respectivamente, que os meios de comunicação removíveis devem ser substituídos e a operação rejulgada, e que procedimentos de determinação de problemas devem ser executados.
Inst_Causes Nenhum.
Inst_Actions Nenhum.
Fail_Causes Igual a 5003, indicando mídia de fita.
Fail_Actions Iguais a 1601 e 0000, indicando, respectivamente, que os meios de comunicação removíveis devem ser substituídos e a operação rejulgada e que procedimentos de determinação de problemas devem ser executados.

Os comandosDetail_Datacampo contém o tipo de comando, o dispositivo e o status do adaptador e as informações de sentido de solicitação do dispositivo particular em erro. Os comandosDetail_Datacampo está contido na estrutura err_rec . Esta estrutura é definida no arquivo /usr/include/sys/errids.h . A estrutura sc_error_log_df , que descreve informações contidas noDetail_Datacampo, é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Erro-Registros de Registro para Fitas ou Erros de Comando abortado de Hardware

Os campos na estrutura err_hdr , conforme definido no arquivo /usr/include/sys/erec.h para erros de hardware e erros de comando abortados, são:

autorização Descrição
Comment Igual a um hardware de fita ou erro de comando abortado.
Class Igual a H, indicando um erro de hardware.
Report Igual a TRUE, indicando esse erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando uma entrada de log de erro deve ser criado quando este erro ocorrer.
Alert FALSO, indicando que este erro não é alertao.
Err_Type Igual a PERM, indicando um fracasso permanente.
Err_Desc Igual a 1331, indicando uma falha na unidade de fita.
Prob_Causes Igual a 6314, indicando um erro da unidade de fita.
User_Causes Nenhum.
User_Actions Igual a 0000, indicando que procedimentos de determinação de problemas devem ser executados.
Inst_Actions Nenhum.
Fail_Causes Igual a 5003 e 6314, indicando a causa falha é a fita e a unidade de fita, respectivamente.
Fail_Actions Igual a 0000 para executar procedimentos de determinação de problemas.

Os comandosDetail_Datacampo contém o tipo de comando, o dispositivo e o status do adaptador e as informações de sentido de solicitação do dispositivo particular em erro. Os comandosDetail_Datacampo está contido na estrutura err_rec . Esta estrutura é definida no arquivo /usr/include/sys/errids.h . A estrutura sc_error_log_df , que descreve informações contidas noDetail_Datacampo, é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Erro-Valores de Registro para Fita-Limite de Erro Recuperado excedido

Os campos definidos na estrutura err_hdr , conforme definido no arquivo /usr/include/sys/erec.h para erros recuperados que excederam o contador de limite, são:

autorização Descrição
Comment Indica que o limite de erro recuperado em fita foi excedido.
Class Igual a H, indicando um erro de hardware.
Report Igual a TRUE, indicando esse erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando uma entrada de log de erro deve ser criado quando este erro ocorrer.
Alert Igual a FALSE, indicando que este erro não é alertao.
Err_Type Igual a PERM, indicando um fracasso permanente.
Err_Desc Igual a 1331, indicando uma falha na unidade de fita.
Prob_Causes Igual a 5003 e 6314, indicando a causa provável é a unidade de fita e fita, respectivamente.
User_Causes Igual a 5100 e 7401, indicando que a mídia é defeituosa e a cabeça de leitura / gravação está suja, respectivamente.
User_Actions Igual a 1601 e 0000, indicando que a mídia removível deve ser substituída e a operação rejulgada e que procedimentos de determinação de problemas devem ser executados, respectivamente.
Inst_Causes Nenhum.
Inst_Actions Nenhum.
Fail_Causes Igual a 5003 e 6314, indicando a causa é a unidade de fita e fita, respectivamente.
Fail_Actions Igual a 0000, para realizar procedimentos de determinação de problemas.

Os comandosDetail_Datacampo contém o tipo de comando, o dispositivo e o status do adaptador e as informações de sentido de solicitação do dispositivo particular em erro. Este campo está contido na estrutura err_rec . A estrutura err_rec é definida no arquivo /usr/include/sys/errids.h . Os comandosDetail_Datacampo também especifica o tipo de erro do limite excedido. A estrutura sc_error_log_df , que descreve informações contidas noDetail_Datacampo, é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Erro Registro Valores para Adaptador SCSI de Fita-Erros detectados

Os campos na estrutura err_hdr , conforme definido no arquivo /usr/include/sys/erec.h para erros detectados pelo adaptador, são:

autorização Descrição
Comment Igual a um adaptador SCSI de fita-erro detectado.
Class Igual a H, indicando um erro de hardware.
Report Igual a TRUE, indicando esse erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando uma entrada de log de erro deve ser criado quando este erro ocorrer.
Alert Igual a FALSE, indicando que este erro não é alertao.
Err_Type Igual a PERM, indicando um fracasso permanente.
Err_Desc Igual a 1331, indicando uma falha na unidade de fita.
Prob_Causes Igual a 3300 e 6314, indicando uma falha do adaptador e da unidade de fita, respectivamente.
User_Causes Nenhum.
User_Actions Igual a 0000, indicando que procedimentos de determinação de problemas devem ser executados.
Inst_Causes Nenhum.
Inst_Actions Nenhum.
Fail_Causes Igual a 3300 e 6314, indicando uma falha do adaptador e da unidade de fita, respectivamente.
Fail_Actions Igual a 0000, para realizar procedimentos de determinação de problemas.

Os comandosDetail_Datacampo contém o tipo de comando e o status do adaptador. Este campo está contido na estrutura err_rec , que é definida pelo arquivo /usr/include/sys/err_rec.h . Informações de sentido de solicitação não estão disponíveis com este tipo de erro. A estrutura sc_error_log_df descreve informações contidas noDetail_Datacampo e é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Erro-Registros de Registro para Erros de Limpeza Da Unidade De Fita

Algumas fitas de fita retornam erros quando precisam de limpeza. Erros que ocorrem quando a unidade precisa de limpeza são agrupados sob esta classe.

autorização Descrição
Comment Indica que a unidade de fita precisa de limpeza.
Class Igual a H, indicando um erro de hardware.
Report Igual a TRUE, indicando que este erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando que uma entrada de erro-log deve ser criada quando esse erro ocorrer.
Alert Igual a FALSE, indicando que este erro não é alertao.
Err_Type Igual ao TEMP, indicando uma falha temporária.
Err_Desc Igual a 1332, indicando um erro de operação de fita.
Prob_Causes Igual a 6314, indicando que a causa provável é a unidade de fita.
User_Causes Igual a 7401, indicando um cabeçote de leitura / gravação sujo.
User_Actions Igual a 0000, indicando que procedimentos de determinação de problemas devem ser executados.
Inst_Causes Nenhum.
Inst_Actions Nenhum.
Fail_Causes Igual a 6314, indicando que a causa é a unidade de fita.
Fail_Actions Igual a 0000, indicando para realizar procedimentos de determinação de problemas.

Os comandosDetail_Datacampo contém o tipo de comando e o status do adaptador e também as informações de sentido de solicitação do dispositivo particular em erro. Este campo está contido na estrutura err_rec , que é definida pelo arquivo /usr/include/sys/errids.h . A estrutura sc_error_log_df descreve informações contidas noDetail_Datacampo e é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Erro-Gravação de Valores para Erros Desconhecidos

Erros que ocorrem por razões desconhecidas são agrupados nesta classe. Erros de proteção de dados caem nessa classe. Esses erros, detectados pelo driver do dispositivo de fita, nunca são vistos na unidade de fita.

A estrutura err_hdr para erros desconhecidos descreve os seguintes campos:

autorização Descrição
Comment Igual a fita erro desconhecido.
Class Igual a todas as classes de erro.
Report Igual a TRUE, indicando esse erro deve ser incluído quando um relatório de erro é gerado.
Log Igual a TRUE, indicando uma entrada de erro-log deve ser criado quando este erro ocorrer.
Alert Igual a FALSE, indicando que este erro não é alertao.
Err_Type Igual ao UNKN, indicando o tipo de erro é desconhecido.
Err_Desc Igual a 0xFE00, indicando a descrição do erro é desconhecida.
Prob_Causes Nenhum.
User_Causes Nenhum.
User_Actions Nenhum.
Inst_Causes Nenhum.
Inst_Actions Nenhum.
Fail_Causes Igual a 0xFFFF, indicando a causa de falha é desconhecida.
Fail_Actions Igual a 0000, indicando que procedimentos de determinação de problemas devem ser executados.

Os comandosDetail_Datacampo contém o tipo de comando e status do adaptador, e as informações de sentido de solicitação do dispositivo particular em erro. Os comandosDetail_Datacampo está contido na estrutura err_rec . Este campo está contido no arquivo /usr/include/sys/errids.h . A estrutura sc_error_log_df descreve informações contidas noDetail_Datacampo e é definido no arquivo /usr/include/sys/scsi.h .

Consulte o Pequena Especificação de Interface do Sistema de Computadores (SCSI) para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.

Arquivos

/dev/rmt0, /dev/rmt0.1, /dev/rmt0.2, ..., /dev/rmt0.7,

/dev/rmt1, /dev/rmt1.1, /dev/rmt1.2, ..., /dev/rmt1.7,...,

Item Descrição
/dev/rmt255, /dev/rmt255.1, /dev/rmt255.2, ..., /dev/rmt255.7 Forneça uma interface para permitir que os drivers de dispositivo SCSI acessem unidades de fita SCSI.