Isso tem a ver com o kernel fazendo muito buffer, incluindo gravação em buffer no seu dispositivo.
Se você emitir:
cp large_file /mnt/htc/
cp
retornará assim que tiver terminado write
os dados, mas (para dispositivos / conexões razoavelmente "lentos") bem antes que os dados tenham sido gravados. (A menos que cp
ou a ferramenta que você usa em si emite fsync
ou chamadas semelhantes para esperar que os dados reais atinjam a unidade - alguns gerenciadores de arquivos gráficos fazem isso, algumas ferramentas têm opções que você pode usar para controlar se não.)
unmount
libera os buffers de gravação antes de "desconectar" o dispositivo para que você não perca dados. Pode levar muito tempo se o kernel armazenar muitos dados e as gravações reais forem lentas.
Tente executar algo como iostat 2
(parte do sysstat
) em um terminal enquanto você faz a cópia e o unmount
, você verá write I / O até o ponto unmount
retornar.