Jump to content

Recommended Posts

Posted

Boas.

Estou aqui com um caso bicudo para resolver. Tenho um equipamento Linux que monta um sd no arranque, mas, devido a um erro no driver, volta e meia o cartão fica cheio de erros e deixo de poder escrever nele.

Precisava que a minha aplicação © detectasse a existência de problemas no cartão (algumas vezes alguns ficheiros ficam com input/output errors, na sua maioria os cartões são montados como read only). Existe algum método mais fiável para detectar este tipo de problemas que não passe por abrir/criar ficheiros e escrever e ler deles a ver se falha?

Posted

O mais fiável é detectar o erro do driver, quando acontecer. Quando o driver dá o erro gera algum texto no log ?

Se fôr o caso julgo que poderias:

1) Enviar os registos do log para uma named pipe aberta pelo teu programa e verificá-los lá à procura do erro do driver. Vê na manpage do syslogd.

2) Usar o suporte para remote logging do syslogd.

3) Criar um programa que escute no socket /dev/log, analise os registos à procura do erro, e reenvie tudo para outro socket configurado na execução do syslogd (parâmetro -p).

Posted

Estou a perceber onde queres chegar, mas a maioria das vezes o erro ocorre na altura em que o equipamento se está a desligar, e o que eu preciso é de o detectar da próxima vez que arranque. O remote logging não surte efeito, já que a máquina não está ligada à rede, e a intenção é o próprio SW detectar o erro para ficar fora de serviço e não realizar operações sobre as quais não pode gerar os registos.

De qualquer forma a 3.ª opção que deste não está nada mal vista. Vou matutar um bocado sobre ela.

Obrigado

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.