O arquivo desaparece do Finder quando a cópia do link físico é excluída

2

Ok, acabei de pegar o susto ... Eu tenho uma pasta com alguns arquivos importantes. Usando o Terminal, criei hard-links para esses arquivos em uma pasta diferente. Algo parecido com isto:

mkdir test
ln important-files/* test/

Tudo bem e bom. Eu tinha uma janela do Finder aberta na pasta important-files e, no Terminal I, decidi excluir minha pasta de teste com os links físicos:

rm -rf test/

Agora vem a parte assustadora ... na janela important-files Finder, os arquivos começaram a desaparecer!

Acontece que era apenas o Mac OS X sendo "engraçado" como costuma ser. Os arquivos ainda estavam lá se eu fizesse um ls important-files/ . Mas a única maneira de recuperá-los no Finder era fazer um killall Finder .

O que o mundo está acontecendo aqui? Por que isso está acontecendo?

Atualização: Isso é um bug no Mac OS X 10.4 ou algo assim? Eu pareço ter um comportamento menos assustador em um iMac com 10,5 aqui ...

    
por Svish 29.07.2010 / 14:43

1 resposta

1

A API de eventos do sistema de arquivos OS X usa caminhos no retorno de chamada, portanto, isso deve ser o Finder sendo estúpido e resolvido para inodes por seu cache interno. Um caminho ligado a um inode específico desaparece, então todas as entradas ligadas a esse inode desaparecem.

    
por 29.07.2010 / 15:10