Posso aumentar a contagem de inodes no Linux?

9

Eu tenho um roteador MIPS do Linux com o kernel 2.4.17. O root fs é um tmpfs e / rom é um cramfs. Há 4 MB de memória livre e 3 MB livres em tmpfs.

Posso criar alguns novos arquivos vazios, mas os próximos falham com "espaço insuficiente". No entanto, posso anexar 1 MB de dados a um arquivo existente. Então, meu problema está na contagem de inodes.

E minhas perguntas:

  1. Existe alguma maneira de aumentar dinamicamente os inodes?
  2. Se não puder aumentá-lo dinamicamente - Onde posso aumentá-lo nas fontes do kernel?
vlad
fonte
O que df -i diz?
Womble
não df em busybox não tem opção -i
vlad
vlad: E o comando stat, existe um comando stat que suporta a opção -f? então apenas stat -f <mountpoint>. Se não, e você pode fazer alguns c e compilar cross para mips, talvez você possa usar o statfs () ou a família chama a si mesmo?
Kyle Brandt

Respostas:

5

Se a contagem de inodes é seu problema real, você pode aumentar a quantidade de inodes disponíveis para o sistema de arquivos tmpfs com a opção de montagem nr_inodes. Se você definir nr_inodes = 0, haverá inodes ilimitados.

Toda essa informação está na documentação do kernel tmpfs .

Veja a resposta de womble para um exemplo de remontagem. Para a inicialização, você precisará editar o seu fstab, ou o que for que isso faça para o seu Linux em particular, para que futuras montagens sejam tratadas corretamente.

Kyle Brandt
fonte
7

Você pode definir o número de inodes disponíveis em um tmpfs com a nr_inodesopção mount. Para fazer isso ao vivo, basta executar:

mount -o remount,nr_inodes=<bignum> /tmp

Eu suspeito que definir esse número muito, muito grande resultará em muito consumo de memória, portanto, tenha cuidado.

mulher
fonte