De onde vem o número de inode de um arquivo montado através do NFS?

1

Eu perguntei uma pergunta no codereview para saber se eu poderia substituir com segurança o seguinte código:

:inode => [stat.ino, stat.dev_major, stat.dev_minor],

que lançou NotImplementedError porque o jruby não está recuperando a implementação stat para o dev_major / dev_minor no Solaris, por

:inode => [stat.ino, nil, nil],

e pela sua explicação eu entendi que se eu operar em um único disco rígido, tudo bem, mas se meus arquivos estão espalhados em múltiplos discos rígidos, existe um (pequeno) risco de colisão com dois inodes sendo o mesmo número.

Mas no meu caso, todos os arquivos de logs de todos os servidores são montados no mesmo diretório através do NFS, por isso fiquei me perguntando se ao acessar os arquivos, os números de inode recuperados pelo ruby seriam os números de inode reais dos arquivos remotos, ou um número inode "local" do link NFS, caso em que eu estaria seguro para operar.

BTW Eu não estou muito familiarizado com essas noções e Inglês não é minha língua materna, por isso peço desculpas se não estou sendo claro.

Obrigado pela sua ajuda

    
por Aldian 15.04.2014 / 14:57

1 resposta

1

Os números de inode vêm dos servidores NFS (os sistemas que contêm os arquivos de log). O sistema em que seu aplicativo ruby está sendo executado é um cliente NFS. Então, sim, existe o potencial para colisões de números de inodes.

    
por 21.04.2014 / 07:20