btrfs mesmo número de inode

1

Eu tenho um sistema de arquivos btrfs e todas as pastas no nível superior são inode 256.
Isso não é bom para mim, o id do dispositivo é o mesmo, então eu suponho que estes são "números de inodes virtuais", Btrfs tem seu próprio mecanismo de fazer isso.

É possível obter o real inode físico único de cada diretório?

veja o que acontece:

root@ReadyNAS-DEV:/home# find  / -xdev -inum 256
/
/home
/data
/apps
root@ReadyNAS-DEV:/home#

Isso não é bom.

    
por ilansch 16.02.2017 / 14:58

1 resposta

3

Estou assumindo que os três diretórios /home , /data e /apps são pontos de montagem.

Quando você monta algo em /home , o inode relatado para /home é o inode do diretório raiz da partição montada, não o do diretório /home original. Portanto, não é estranho que esses inodes sejam os mesmos que os diretórios raiz de outras partições.

Na minha máquina OpenBSD (que não usa btrfs):

$ find / -xdev -inum 2
/
/home
/usr
/var
/tmp

Eu vejo o mesmo na minha VM Ubuntu. Isso não é um bug.

Outra maneira de dizer isso: A estrutura stat retornada pela chamada do sistema stat() para os diretórios diferentes tem o mesmo valor de st_ino , mas valores diferentes de st_dev . Veja a descrição de stat() e sys/stat.h em POSIX.

Pode ser que você entenda mal a opção -xdev para find . Com ele, ele não irá descer para os diretórios que estão em outros sistemas de arquivos, mas ainda imprimirá os nomes dos diretórios se eles corresponderem aos outros critérios.

    
por 16.02.2017 / 15:07