Flinger Posted May 31, 2012 at 04:06 PM Report #459505 Posted May 31, 2012 at 04:06 PM 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?
bsccara Posted May 31, 2012 at 06:25 PM Report #459532 Posted May 31, 2012 at 06:25 PM 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).
Flinger Posted June 1, 2012 at 08:34 AM Author Report #459622 Posted June 1, 2012 at 08:34 AM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now