Condições de Erro para Driver de Dispositivo USB Tape Client
Além dos erros listados, os subroutines ioctl, open, reade write para dispositivo de fita USB, não são bem sucedidos nas seguintes circunstâncias:
| Valor | Descrição |
|---|---|
| EAGAIN | Indica que uma tentativa é feita para abrir um dispositivo, que já está aberto. |
| EBUSY | Indica que o dispositivo de destino é reservado por outro iniciador. |
| EINVAL |
|
| EIO |
|
| EMEDIA | Indica uma operação aberta é tentado para um adaptador 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 já atingiu a EOM. |
| EPERM | Indica que a subroutina requer autoridade apropriada. |
| ETIMEDOUT | Indica que um comando cronomeou. |
| EWRPROTECT |
|
Informações de Confiabilidade e Manufabilidade
Os seguintes erros são retornados a partir dos dispositivos de fita:
| 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 operação de gravação foi tentada em uma fita protegida por gravação. |
| BOA CONCLUSÃO | Indica o comando 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 inválido ou um parâmetro de comando inválido. |
| Erro Médio | Indica que o comando terminou com uma condição de erro de mídia irrecuperável. Essa condição pode ser causada por uma falha de fita ou por uma cabeça suja. |
| Não pronto | Indica que a unidade lógica está offline. |
| Erro Recuperado | Indica que o comando é bem-sucedido depois que algumas operações de recuperação foram aplicadas. |
| Atenção da unidade | Indica que o dispositivo é reajuste ou a energia é ligada. |
Erros de comando médios, de hardware e sem sucesso da lista precedente devem ser registrados sempre que eles ocorrerem. O erro ABORTED
COMMAND pode ser recuperável, mas o erro é registrado se a recuperação falhar. Para os tipos de erro RECOVERED ERROR e recuperados ABORTED
COMMAND , os limites são mantidos; quando são excedidos, um erro é registrado. Os limites são então apurados.
/* Bulk transfer cmd and status blocks */
typedef struct mstor_cbw {
uint32_t cbw_signature; /* Always "USBC" little endian */
uint32_t cbw_tag; /* Command identification */
fld32_t cbw_dlen; /* Data length */
uchar cbw_flags; /* Indicates data in or data out */
uchar cbw_lun; /* Logical unit number, 0-15 */
uchar cbw_cblen; /* Significant bytes of the cmd blk */
uchar cbw_cb[16]; /* Command block itself */
uchar cbw_rsvd;
} mstor_cbw_t;
/* For error logging */
struct usbtape_err_rec {
struct err_rec0 log;
uint cmd_error;
mstor_cbw_t cbw;
char sense_data[168];
uint dd1; /* reserved for dd use */
uint dd2; /* reserved for dd use */
uint dd3; /* reserved for dd use */
uint dd4; /* reserved for dd use */
uint dd5; /* reserved for dd use */
uint dd6; /* reserved for dd use */
uint dd7; /* reserved for dd use */
uint dd8; /* reserved for dd use */
};
LABEL: SC_TAPE_ERRx
IDENTIFIER: xxxxxxxx
Date/Time: Thu Mar 12 05:20:27 CDT 2009
Sequence Number: 3829
Machine Id: 0000097AD400
Node Id: sitar04
Class: H
Type: PERM
Resource Name: rmt0
Resource Class: tape
Resource Type: 0806500c
Location:
Description
Probable Causes
Failure Causes
Recommended Actions
Detail Data
SENSE DATA
1111 1111 2222 2222 3333 3333 4444 4444 5566 7788 8888 8888 8888 8888 8888 8888
8888 8899 aaaa kkaa aaaa aaaa aaaa aaaa ccqq aaaa aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa bbbb bbbb cccc cccc dddd dddd
Data Representation Legend
--------------------------
cmd_error 1 Command Error Value
(cmd_error values can be negative which are logged as 2's complement.
For these USB specific error values refer below or /usr/include/sys/usbdi.h.
For error values which are positive Please refer to /usr/include/sys/errno.h file for error description)
Bulk transfer Command and Status Blocks
cbw_signature 2 Always .USBC. in ASCII - “5553 4243”
cbw_tag 3 Command Identification
cbw_dlen 4 Data Length
cbw_flags 5 Indicates Data IN or OUT
cbw_lun 6 LUN Id
cbw_cblen 7 CDB (Command Descriptor Bytes) length
cbw_cb 8 CDB
cbw_rsvd 9 Reserved
Sense data
Sense data a
Sense key k
ASC c
ASCQ q
Read Transfer Count b In bytes
Write Transfer Count c In bytes
Location d Device Driver log locationValores de registro de erro para erros do dispositivo de fita
A tabela a seguir lista os campos definidos no modelo de registro de erro para erros do dispositivo de fita:
| ID de erro | Descrição |
|---|---|
| SC_TAPE_ERR1 | Erro de fita permanente. Este erro é logado quando erro de fita métrica é encontrado. |
| SC_TAPE_ERR2 | Erro de hardware de fita permanente. Este erro é registrado quando o erro de hardware da fita é encontrado ou o comando é abortado pela unidade e todas as tentativas de resolver o erro falharam. |
| SC_TAPE_ERR3 | Falha na unidade de fita temporária. Este erro não é logado no driver de fita Universal Serial Bus (USB). |
| SC_TAPE_ERR4 | Falha na unidade de fita permanente. Este erro é registrado quando a falha do adaptador é detectada e todas as tentativas falharam. |
| SC_TAPE_ERR5 | Erro de fita desconhecida. Este erro é registrado quando a fita retorna uma condição de verificação mas os dados de sentido não contêm informações válidas. |
| SC_TAPE_ERR6 | Erro de operação de fita temporária. A unidade de fita precisa ser limpa. |
| SC_TAPE_ERR7 | Erro informativo. Logs de erros relacionados ao Serviço de Acesso Remoto (RAS) devido a falhas de verificação de sanidade do driver interno. |
| SC_TAPE_ERR8 | Falha na unidade de fita temporária. Este erro não é logado no driver de fita USB. |
Valores de registro de erro para erros de mídia do dispositivo de
A tabela a seguir lista os campos que são definidos no modelo de registro de erro para erros de mídia do dispositivo de fita:
| Item | Descrição |
|---|---|
| Comentário | O erro da mídia de fita. |
| Classe | Um valor de H que indica um erro de hardware. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de log de erro deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de False que indica este erro não pode ser alertado. |
| Err_Type | Um valor de Perm que indica uma falha permanente. |
| Err_Desc | Um valor de 1332 que indica uma falha de operação de fita. |
| Prob_Causas | Um valor de 5003 que indica mídia de fita. |
| User_Causes | Um valor de 5100 que indica um erro com o dispositivo de fita e um valor de 7401 que indica um erro com a mídia defeituosa. |
| User_Ações | Um valor de 1601 que indica que a mídia removível deve ser substituída e a operação deve ser julgada novamente. Ou, é igual a um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
| Inst_Causes | Nenhum. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 5003 que indica mídia de fita. |
| Fail_Ações | Um valor de 1601 que indica que a mídia removível deve ser substituída e a operação deve ser julgada novamente. Ou, é igual a um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
O campo Detail_Data contém o tipo de comando, o status e o status do adaptador e as informações de sentido de solicitação do dispositivo particular em erro. O campo Detail_Data está contido na estrutura err_rec . Essa estrutura é definida no arquivo /usr/include/sys/errids.h .
Valores de registro de erro para erros de comandos interrompidos por fita ou hardware
Os campos a seguir na estrutura err_hdr são definidos no arquivo /usr/include/sys/erec.h para erros de hardware e erros de comandos abortados:
| Item | Descrição |
|---|---|
| Comentário | Um valor de hardware de fita ou erro de comando abortado. |
| Classe | Um valor de H que indica um erro de hardware. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de log de erro deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de FALSE que indica este erro não pode ser alertado. |
| Err_Type | Um valor de Perm que indica uma falha permanente. |
| Err_Desc | Um valor de 1331 que indica uma falha na unidade de fita. |
| Prob_Causas | Um valor de 6314 que indica um erro da unidade de fita. |
| User_Causes | Nenhum. |
| User_Ações | Um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 5003 que indica o caso de falha é a fita e um valor de 6314 que indica o caso de falha é a unidade de fita. |
| Fail_Ações | Um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
O campo Detail_Data contém o tipo de comando, o status e o status do adaptador e as informações de sentido de solicitação do dispositivo particular em erro. O campo Detail_Data está contido na estrutura err_rec . Essa estrutura é definida no arquivo /usr/include/sys/errids.h . A estrutura usbtape_err_rec descreve informações que estão contidas no campo Detail_Data .
Valores de registro de erro para limite de erro recuperado de fita excedido
Os campos a seguir são definidos na estrutura err_hdr que são definidas no arquivo /usr/include/sys/erec.h para erros recuperados que excederam o contador de limite:
| Item | Descrição |
|---|---|
| Comentário | Indica que o limite para os erros recuperados em fita é excedido. |
| Classe | Um valor de H que indica um erro de hardware. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de erro-log deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de False que indica este erro não pode ser alertado. |
| Err_Type | Um valor de TEMP que indica uma falha temporária. |
| Err_Desc | Um valor de 1331 que indica uma falha na unidade de fita. |
| Prob_Causas | Um valor de 6314 que indica a causa provável é a unidade de fita. |
| User_Causes | Um valor de 5100 que indica a mídia é defeituoso e um valor de 7401 que indica a cabeça de leitura / gravação está sujo. |
| User_Ações | Um valor de 1601 que indica que a mídia removível deve ser substituída e a operação deve ser julgada novamente. Ou, é igual a um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
| Inst_Causes | Nenhum. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 5003 que indica a causa de falha é a fita e um valor de 6314 que indica a causa de falha é a unidade de fita. |
| Fail_Ações | Um valor de 0000 que indica procedimentos de determinação de problemas deve ser realizado. |
O campo Detail_Data contém o tipo de comando, o status 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 . O campo Detail_Data também especifica o tipo de erro do limite excedido. A estrutura usbtape_err_rec descreve informações contidas no campo Detail_Data .
Valores de registro de erro para placa USB de fita-erros detectados
Os campos a seguir na estrutura err_hdr são definidos no arquivo /usr/include/sys/erec.h para erros detectados pelo adaptador:
| Item | Descrição |
|---|---|
| Comentário | Um adaptador Fibre Channel adaptador-detectado erro. |
| Classe | Um valor de H que indica um erro de hardware. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de log de erro deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de FALSE que indica este erro não pode ser alertado. |
| Err_Type | Um valor de PERM que indica uma falha permanente. |
| Err_Desc | Um valor de 1331 que indica uma falha na unidade de fita. |
| Prob_Causas | Os valores de 3300 que indicam falha do adaptador e um valor de 6314 que indica falha na unidade de fita. |
| User_Causes | Nenhum. |
| User_Ações | Um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
| Inst_Causes | Nenhum. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 3300 que indica falha do adaptador e um valor de 6314 que indica falha na unidade de fita. |
| Fail_Ações | Um valor de 0000 que indica procedimentos de determinação de problemas deve ser realizado. |
O campo Detail_Data 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 usbtape_err_rec descreve informações contidas no campo Detail_Data .
Valores de registro de erro para erros de limpeza da unidade de
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.
| Item | Descrição |
|---|---|
| Comentário | Indica que a unidade de fita precisa de limpeza. |
| Classe | Um valor de H que indica um erro de hardware. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de log de erro deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de FALSE que indica este erro não pode ser alertado. |
| Err_Type | Um valor de TEMP que indica uma falha temporária. |
| Err_Desc | Um valor de 1332 que indica um erro de operação de fita. |
| Prob_Causas | Um valor de 6314 que indica que a causa provável é a unidade de fita. |
| User_Causes | Um valor de 7401 que indica uma cabeça suja de leitura / gravação. |
| User_Ações | Um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
| Inst_Causes | Nenhum. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 6314 que indica que a causa é a unidade de fita. |
| Fail_Ações | Um valor de 0000 que indica procedimentos de determinação de problemas deve ser realizado. |
O campo Detail_Data 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 usbtape_err_rec descreve informações contidas no campo Detail_Data .
Erro de registro 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, que são 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:
| Item | Descrição |
|---|---|
| Comentário | Um erro desconhecido de fita. |
| Classe | Todas as classes de erro. |
| Relatório | Um valor de True que indica esse erro deve ser incluído quando um relatório de erro é gerado. |
| Log | Um valor de True que indica uma entrada de log de erro deve ser criado quando este erro ocorrer. |
| Alerta | Um valor de FALSE que indica este erro não pode ser alertado. |
| Err_Type | Um valor de UNKN que indica o tipo de erro é desconhecido. |
| Err_Desc | Um valor de 0xFE00 que indica a descrição do erro é desconhecido. |
| Prob_Causas | Especifica os seguintes valores:
|
| User_Causes | Nenhum. |
| User_Ações | Nenhum. |
| Inst_Causes | Nenhum. |
| Inst_Ações | Nenhum. |
| Fail_Causas | Um valor de 0xFFFF que indica as causas para falha são desconhecidas. |
| Fail_Ações | Um valor de 0000 que indica que procedimentos de determinação de problemas devem ser executados. |
O campo Detail_Data contém o tipo de comando e o status do adaptador, e as informações de sentido de solicitação do dispositivo particular em erro. O campo Detail_Data está contido na estrutura err_rec . Este campo está contido no arquivo /usr/include/sys/errids.h . A estrutura usbtape_err_rec descreve informações que estão contidas no campo Detail_Data .
Consulte a especificação SCSI para o dispositivo aplicável para o formato das informações de solicitação de sentido específico.