Por que mover o arquivo dentro de uma partição ext4 é tão lento?

1

A pergunta curta é por que uma operação de movimentação, movendo-se dentro da mesma partição ext4, leva mais tempo do que uma cópia dos mesmos arquivos de uma unidade diferente?

A descrição mais longa do cenário: Eu movi recentemente um grande diretório de arquivos ... Eu não tenho números exatos, mas talvez 40-50GB de dados consistindo principalmente de arquivos pequenos em muitos diretórios (sendo aninhado 10 níveis profundos não seriam incomuns). Mudei-o usando o rsync de um pendrive USB (NTFS) para um disco rígido interno (partição ext4), e embora não tenha feito isso, chutei-o antes de ir para a cama e isso foi feito antes de eu levantar. Então, provavelmente não mais do que 8 horas, possivelmente menos.

No entanto, eu erroneamente rsynced-lo assim (nomes de dir não reais)

rsync -a /thumbdrive/a/b/c /harddrive/a/b/c

tal que acabei com um diretório c extra.

Então eu corrigi isso movendo o segundo c para cima um nível (copiando sobre o nível superior c , que estava vazio, exceto para o interior c ). Pensando que deveria ser uma operação trivial, eu fiz isso de dentro do Dophin (em uma área de trabalho do KDE). Agora ele está correndo por algo como 9 ou 10 horas e ainda está indo ...

Adendo: mais uma informação que pode ser importante: a pasta c contém 51 pastas e 62 arquivos. (Eu esperaria que o Dolphin estivesse essencialmente fazendo uma operação de mv para cada um deles.)

Adendo 2: algum tempo depois, notei que o progresso (mostrado no plasmóide da bandeja de notificação do KDE) parecia estar parado. A luz do disco rígido continuava a ter atividade vigorosa, mas o indicador de progresso continuava a mostrar que continuava no mesmo arquivo. Este não era o caso mais cedo, quando eu já estava me perguntando por que estava demorando tanto, eu conferia periodicamente e via um progresso animado em arquivos diferentes). Olhando para o disco, vi que a fonte do movimento não parecia estar lá. Eu finalmente desisti e apertei o botão parar na notificação ui.

Eu percebo que isso pode apontar para a estranheza do KDE mais do que para a estranheza do ext4, e que pelo menos as camadas do KDE dificultam saber se qualquer esquisitice ocorrida foi relacionada ao sistema de arquivos. Mas ainda assim, o que eu consideraria respostas úteis seria alguém que sabe ext4 confirmando ou negando que tal comportamento do ext4 faz algum sentido, ou alguém que conhece os bits relevantes do KDE com uma explicação de como isso poderia acontecer.

    
por EricS 15.03.2015 / 02:07

0 respostas