Linux bloqueado no df

1

Estou com alguns problemas com um disco rígido externo. Receio que esteja começando a ficar corrompido ou danificado: S.

Em um aplicativo, estou usando statfs para recuperar informações desse disco rígido externo:

const char *mountPoint = "/media/hdd";
struct statfs s;
statfs(mountPoint, &s);

No entanto, de tempos em tempos, tenho notado nos logs do aplicativo que o sistema Linux completo está bloqueado (na verdade, devido a não registrar alguns eventos nos horários corretos). Eu notei isso sozinho digitando o comando "df" em um desses momentos "críticos". O efeito é que todas as partições aparecem corretamente, com exceção da partição do disco rígido, cuja linha dura alguns segundos antes de aparecer.

Além disso, o disco rígido é formatado como NTFS e eu estou usando NTFS-3G para operar com ele.

... e por último mas não menos importante, detectei o seguinte problema no dmesg:

klogd: page allocation failure: order:0, mode:0x20
CPU: 0 PID: 1660 Comm: klogd Not tainted 3.12.20-smp #6
Hardware name: PhoenixAward 945GS/945GS, BIOS 6.00 PG 02/03/2015
[...]
Call Trace:
[...]
[<f866806e>] e1000_alloc_rx_buffers+0x18e/0x1e0 [e1000e]
[<c1a30387>] ? napi_gro_receive+0x67/0x90
[<f8666200>] e1000_clean_rx_irq+0x220/0x340 [e1000e]
[<f866cc5b>] e1000e_poll+0x7b/0x2e0 [e1000e]
[...]

Gostaria de saber se existe uma maneira não-bloqueante de obter informações sobre dispositivos montados. Nesse caso, preciso do tamanho total do dispositivo e do espaço em disco disponível ou usado.

Talvez esse problema não esteja estritamente relacionado a "df" ou ao acesso a dados de volume, mas está mais relacionado a recursos do sistema operacional Linux, como a alocação de memória.

Qualquer ajuda seria grata. Agradecemos antecipadamente.

    
por aloplop85 16.07.2015 / 09:27

1 resposta

0

Escreva sua lógica para extrair os parâmetros do dispositivo e atribuí-lo a um segmento / processo. Monitore o processo / processo de trabalho do processo pai e mate-o após um tempo limite adequado, se estiver suspenso.

    
por 16.07.2015 / 09:40