strace
me mostra que ls -i
está chamando lstat()
em cada nome de arquivo
Isso explicaria o trabalho extra.
Dado que o readdir () já retornou o número do inode, este parece estar abaixo do ideal
enquanto isso parece um bug, esse comportamento é para consistência com pontos de montagem. (veja o comentário de Thomas)