falhas de arquivos recém-criados quando não há espaço livre

0

Depois de ficar sem espaço no $ HOME eu encontrei alguns dos meus scripts falhando, deixando arquivos corrompidos arround. Vou explicar com um exemplo:

Estou usando o Ubuntu 12.04, a partição / é ext4 com o $ HOME na mesma partição e a opção de diretório de usuário criptografado (perguntada na instalação) ativa.

Quando não houver mais espaço livre disponível, se eu tentar criar um arquivo

$  touch last-successful
touch: cannot touch 'last-successful': No space left on device

Mesmo pensando, descobri que o arquivo foi criado, mas os metadados são ilegíveis por algum motivo (pontos de interrogação).

O arquivo também não pode ser usado. Não é possível ler / escrever.

$ ls -lah
ls: cannot access last-successful: No such file or directory
drwxrwxr-x 2 user1 user1 4.0K Oct 28 12:10 .
drwxrwxr-x 3 user1 user1 4.0K Oct 28 12:01 ..
-????????? ? ?       ?          ?            ? last-successful
-rw-rw-r-- 1 user1 user1  189 Jul 12 12:09 README

Mesmo depois que o espaço livre se torna disponível, ele não pode ser alterado ou excluído (e as mensagens de erro não fazem muito sentido), dê uma olhada:

$  echo "hi" >> last-successful
bash: last-successful: File exists

$  rm last-successful 
rm: cannot remove 'last-successful': No such file or directory

Após o rm, ainda vejo a mesma listagem de antes (com o arquivo 'last-successful' e com pontos de interrogação)

Somente após a reinicialização, os arquivos podem ser listados sem pontos de interrogação.

$  ls -lah
drwxrwxr-x 2 user1 user1 4.0K Oct 28 12:10 .
drwxrwxr-x 3 user1 user1 4.0K Oct 28 12:01 ..
-rw-rw-r-- 1 user1 user1    0 Oct 27 00:02 last-successful
-rw-rw-r-- 1 user1 user1  189 Jul 12 12:09 README

mas a leitura / gravação ainda não funciona:

$  cat last-successful 
cat: last-successful: Input/output error

$  echo "hi" > last-successful 
bash: last-successful: Input/output error

Eu só posso deletá-lo (desta vez funciona), e então tudo parece começar a funcionar normalmente de novo.

Aqui está uma lista dos meus pontos de montagem:

$  mount

/dev/sda1 on / type ext4 (rw,errors=remount-ro) 
...     
/home/user1/.Private on /home/user1 type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=49b949f48cc35f84,ecryptfs_fnek_sig=66c15b8e5a4f2c6b)

Alguém pode me indicar em alguma direção o que está acontecendo aqui? Tem algo a ver com eCryptfs?

    
por mxlian 28.10.2013 / 13:58

1 resposta

0

Este era realmente um problema do eCryptfs, na forma como o eCryptfs lidava com situações de disco completo. Dê uma olhada:

link

Este bug já foi corrigido. Uma atualização do kernel deve se livrar do problema.

    
por 29.10.2013 / 14:31