“stat -f” diz “Tipo: fuseblk”. Deve ser "Tipo: fusível"

1

Se eu executar stat -f . em um sistema de arquivos bindfs ou sshfs , ele mostrará "Tipo: fuseblk". Isto não está certo. Ao contrário de ntfs-3g , esses sistemas de arquivos não são implementados usando um dispositivo de bloco. Se eu executar findmnt , ele mostrará o tipo deles como apenas fuse .

Pode ser corrigido?

    
por sourcejedi 16.08.2018 / 21:25

1 resposta

2

Eu estou supondo que esse bug é tarde demais para corrigir. (Ou seja, agora é efetivamente também uma característica: -).

Atualmente S_MAGIC_FUSEBLK é definido para representar o que eu acho que o kernel chama internamente FUSE_SUPER_MAGIC . (Google sugere que pode ser definido em "fs.h"? Mas não consigo encontrar "fs.h" em coreutils ).

stat -f . imprime S_MAGIC_FUSEBLK como "Tipo: fuseblk", o que parece razoável. O problema é exatamente a mesma mágica também retornada para sistemas de arquivos FUSE sem bloco. Isso está em um dos campos retornados pela chamada do sistema Linux statfs() . Eu suspeito que o autor original testou apenas com sistemas de arquivos FUSE baseados em blocos, como ntfs-3g .

Eu pesquisei na Web sobre isso e só encontrei um thread no patch original. Convenientemente, o mesmo thread explicava preocupações de compatibilidade com versões anteriores, como uma razão para não atualizar a descrição de outro tipo de sistema de arquivos. Se isso for válido, parece que as duas descrições estão em vigor há muito tempo, e alterá-las seria muito arriscado.

link

    
por 16.08.2018 / 21:25