Basicamente: é a sua decisão
Se por "UNIX File System" você quer dizer UFS, então um diretório pai inode não armazena em cache os tipos de arquivo, ele apenas contém os arquivos e inodes correspondentes. Fonte: Sistemas de arquivos da UFS (PDF, ver cap 15.2.2)
Isso pode não ser o caso de todos os sistemas de arquivos, é uma opção de design. E para o seu sistema de arquivos, pode ser sua escolha de design.
Para a tolice dessa escolha, eu discordaria. Pense quantas vezes o sistema teria que verificar os tipos de arquivos em um diretório? Você precisa equilibrar a freqüência de um comando ls -l
com o espaço extra que o armazenamento em cache das informações no inode levaria.
Se o seu sistema de arquivos for do tipo cluster (por exemplo, glusterfs) ou network-like (por exemplo, nfs), isso pode ser uma boa ideia, devido à possível latência de acessar todos os inodes. No armazenamento local, isso pode ser uma preocupação menor.
Além disso, qual é o seu sistema de arquivos tentando alcançar? Se ele for projetado para ser eficiente com diretórios que contenham cada um milhares de arquivos, então pode valer a pena considerar o armazenamento em cache dos tipos de arquivo, se ele for projetado para ser enxuto com o menor tamanho possível, o armazenamento em cache não poderia ser evitado.
Observação sobre o ext2, 3 e 4 e o recurso filetype
Parece que ext2-4
pode fazer exatamente o que você tem em mente. Pode armazenar em cache os tipos de arquivos na entrada de diretório. Isso está ativo somente com o recurso filetype
como tempo de criação do sistema de arquivos. Quando este recurso é usado, ext4 usa uma estrutura diferente para a entrada de diretório que pode ter um cache dos tipos de arquivos. Este aplica-se também a ext2 e ext3 .