Leva um tempo * muito * para ejetar meus flashdrives

3

Estou executando uma nova instalação no Debian 8, e muitas vezes tenho que esperar um tempo ridículo antes que meus flashdrives sejam ejetados (variando de 1 a 10 ... 15 minutos). Durante esse tempo, não consigo acessar nada referente à unidade porque recebo o erro An operation is already pending.

Parece que não tem nada a ver com o formato flashdrive (eu tentei FAT, ext4, NTFS), mas também parece começar quando eu começar a colocar arquivos neles. (nada pesado, ~ 500Mb).

O que pode estar causando esse problema? Há algo que eu possa fazer para acelerar a ejeção?

    
por iago-lito 16.10.2015 / 11:26

1 resposta

6

Embora eu não saiba se essa é a verdadeira explicação / solução para sua pergunta, acredito que esse seja um problema com o USB em geral.

Se você copiar arquivos grandes ou muitos arquivos, o dispositivo USB entregará uma mensagem ao host dizendo "Estou prestes a enviar esses arquivos para você". O dispositivo enviará todos os arquivos de forma assíncrona e levará o tempo necessário para isso. Isso significa que quando você faz um cp /my/flash/drive/foo.txt /home/bar/foo.txt , o dispositivo informará ao sistema operacional que os arquivos estão sendo copiados e, em seguida, enviará os arquivos.

A única maneira que conheço para verificar se todos os dados realmente foram transferidos é inserir sync depois de executar um comando que copie / mova ou exclua arquivos em uma unidade flash. O comando de sincronização irá então bloquear até que a unidade termine com a transferência de dados. Depois disso, deve ser seguro desmontar / ejetar uma unidade flash USB.

[EDITAR]: verifique este post para ver o progresso da operação sync : o número impresso quando você corre

watch grep -e Dirty: -e Writeback: /proc/meminfo

deve diminuir para zero quando ocorrerem transferências de dados em segundo plano. Quando estiver pronto, seu sync será concluído e seu flash drive será ejetado.

Outro problema comum ao ejetar dispositivos de armazenamento USB é que pelo menos o Debian não permitirá isso se houver um programa, terminal ou similar atualmente trabalhando em arquivos / pastas na unidade flash. Portanto, se você alterou o diretório para uma pasta naquele flashdrive em um terminal e depois tentou ejetar o flash drive usando outro terminal, ele não permitirá isso até que você tenha alterado o diretório para algum outro local que não esteja no flashdrive no primeiro terminal. / p>     

por 16.10.2015 / 12:38