Localizando todos os hard-links de um arquivo sem atravessar o sistema de arquivos

9

Eu vi nesta página que inodes têm um contador de links para saber quantos arquivos (leia-se: "entrada de diretório") apontam para este inode. Existe uma maneira de saber quais diretórios contêm essas entradas sem atravessar todo o sistema de arquivos? Esta informação é armazenada em algum lugar?

struct inode {
    kdev_t                       i_dev;
    unsigned long                i_ino;
    umode_t                      i_mode;
    nlink_t                      i_nlink;
    uid_t                        i_uid;
    gid_t                        i_gid;
    …
};
    
por qdii 12.05.2013 / 14:45

1 resposta

9

Não. As entradas de diretório que apontam para inodes são links unidirecionais. Os inodes não apontam para as entradas do diretório.

Para encontrar uma lista completa das entradas de diretório que apontam para um inode, você precisa percorrer o sistema de arquivos até encontrar entradas de diretório suficientes para considerar a contagem de links do inode.

    
por 12.05.2013 / 17:34