Como posso fazer com que o Samba feche os arquivos imediatamente?

1

Eu tenho experimentado um desconcertante problema de arquivo desaparecendo no meu NAS desde que eu comprei, e só hoje depois de testes extensivos eu acho que tenho uma noção do que exatamente está ocorrendo. Temo que não haverá solução para isso, mas, por favor, puxe uma cadeira, pelo menos, e ouça minha história de dor.

Para começar, estou executando o Windows 7 x64 e um QNAP TS-451, mas não acredito que qualquer informação seja relevante - nas circunstâncias certas, isso deve ocorrer em todos os NASs e em todas as versões do Janelas. Meu sistema de arquivos NAS é ext4 (com opções rw,usrjquota=aquota.user,jqfmt=vfsv0,user_xattr,data=ordered,nodelalloc,noacl ) e estou acessando meus arquivos no Windows por meio de uma unidade de rede Samba (v4.0.21).

Para reproduzir esse problema, venho criando duas pastas chamadas test1 e test2, copiando um arquivo .exe para test1, recortando e colando rapidamente o arquivo no test2 e, em seguida, recortando e colando o arquivo rapidamente no test1. Quando o arquivo é colado de volta ao test1, na maioria das vezes, nada ocorre e o arquivo simplesmente permanece no test2. Infelizmente, a QNAP não conseguiu reproduzir meu problema usando essas instruções (imagino que elas não estejam fazendo isso com rapidez suficiente), então elas deixaram a investigação para saber por que isso ocorre diretamente em meus ombros.

Veja o que parece estar acontecendo: determinei usando lsof que há um breve período de tempo em que você abre uma pasta no Windows onde os arquivos não estão abertos no Windows, mas estão no NAS. Eu acredito que isso ocorre porque o Windows abre o arquivo para ler seu ícone, mas o Samba não fecha o arquivo imediatamente quando o Windows faz. Quando tento mover meu arquivo, o Windows e o NAS, portanto, permitem, mas uma referência ao arquivo permanece em seu local original até que o sistema de arquivos NAS seja remontado (confirmado com stat <filename> ); quando eu tento mover o arquivo de volta ao seu local original, nada ocorre porque no NAS, ele já está lá e o Windows simplesmente sufoca sem uma mensagem de erro.

É raro eu querer mover um arquivo para algum lugar e depois voltar imediatamente, mas esse problema se manifesta de outras maneiras - tente sobrescrever um arquivo durante a breve janela que ainda está aberta no NAS, por exemplo, e não somente o arquivo simplesmente desaparece no Windows, você não pode gravar nesse nome de arquivo novamente até que o sistema de arquivos NAS seja remontado. Excluindo um arquivo e tentando copiar outro para esse local com o mesmo nome? Mesma coisa. Pior de tudo, esse comportamento interrompe completamente o processo de reparo .par2 - o QuickPar repara o meu conjunto de arquivos, remove os arquivos originais, tenta renomear os novos arquivos e, poof, eles desaparecem.

Existe algum tipo de opção de sistema de arquivos, opção do Samba ou outra mágica geral que eu possa usar para resolver esse problema de uma vez por todas? Como está, fazer com que o meu NAS seja um pesadelo constante.

    
por blackwind 14.12.2014 / 02:09

0 respostas

Tags