Eu tenho um problema ao remover o diretório vazio, o strace mostra o erro:
rmdir("empty_dir") = -1 ENOTEMPTY (Directory not empty)
E ls -la empty_dir
não mostra nada. Então eu conectei ao fs (ext4) com debugfs e vi o arquivo escondido dentro deste diretório:
# ls -lia empty_dir/
total 8
44574010 drwxr-xr-x 2 2686 2681 4096 Jan 13 17:59 .
44573990 drwxr-xr-x 3 2686 2681 4096 Jan 13 18:36 ..
debugfs: ls empty_dir
44574010 (12) . 44573990 (316) ..
26808797 (3768) _-----------------------------------------------------------.jpg
Por que isso poderia acontecer? E alguma chance de resolver esse problema sem desmontar e verificar totalmente o fs?
Informação adicional:
O arquivo "oculto" é apenas um arquivo jpg normal e pode ser aberto pelo visualizador de imagens:
debugfs: dump empty_dir/_-----------------------------------------------------------.jpg /root/hidden_file
# file /root/hidden_file
/root/hidden_file: JPEG image data, JFIF standard 1.02
rm -rf empty_dir
não está funcionando com o mesmo erro:
unlinkat(AT_FDCWD, "empty_dir", AT_REMOVEDIR) = -1 ENOTEMPTY (Directory not empty)
find empty_dir/ -inum 26808797
não mostra nada.