Problemas de leitura de pasta compartilhada do Virtualbox do Apache

Problemas de leitura de pasta compartilhada do Virtualbox do Apache

Estou com um problema com arquivos em um compartilhamento montado dentro de uma máquina Virtualbox.

O problema é que, embora eu possa ver o conteúdo dos arquivos suficientemente bem no shell, os mesmos arquivos ficam ligeiramente corrompidos, truncados ou em versões antigas, às vezes quando servidos por http por meio de um servidor web Apache.

O problema parece acontecer apenas quando o arquivo atinge um determinado comprimento (100-200 caracteres). Às vezes, caracteres não legíveis são adicionados ao final, resultando em pequenos pontos de interrogação no navegador. Outro sintoma comum é que quando o arquivo é alterado no host, não há como fazer o Apache servir a nova versão. (O problema não está relacionado a ETags e o Apache possui permissões de leitura perfeitas em todos os arquivos. Duvido que esteja relacionado apenas a codificações.)

Realmente parece um problema no nível do sistema de arquivos que só se manifesta no Apache.

Alguns fatos:

Anfitrião: MacBook Pro/Snow Leopard

Convidado: Fedora 16

Apache: 2.2.22

Caixa Virtual: 4.1.8

Tentei montar no fstab, mas também manualmente, alterando o userid para apache.

Peço desculpas pela descrição vaga (não pesquisada?) do problema, mas realmente não sei por onde começar e espero obter algumas dicas na direção certa. É Mac, Virtualbox, Fedora ou Apache que é o verdadeiro problema?

ATUALIZAÇÃO: Sei que há mais do que o Apache httpd não servindo os arquivos corretamente - em algum momento, quando eu crio uma nova pasta no host, a entrada é mostrada como um monte de pontos de interrogação ao fazer uma listagem de diretórios no shell do convidado. É quase desnecessário dizer que não posso acessar essa nova pasta até reiniciar o convidado.

Responder1

Dê uma olhada no ingresso emhttps://www.virtualbox.org/ticket/819, lá eles sugerem o que você já encontrou que é o do ApacheAtivarEnviar arquivodiretiva. Desligar esta diretiva parece resolver o problema em nossos servidores.

Responder2

Algumas pesquisas por "apache mmap" revelam que o Apache usarámapa(2)para acessar arquivos quando eles excedem um determinado tamanho (que parece ter como padrão 1 byte em sistemas não SunOS). Este problema pode ser causado por um bug no suporte do VirtualBox para acesso mmap'ed a pastas compartilhadas.

informação relacionada