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.
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.
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.