Um diretório é um ponto de montagem se o campo st_dev
retornado por stat
for diferente do valor em seu pai. Esse é o critério usado pela maioria das ferramentas ( find -xdev
, rsync -x
, du -x
,…). Isso é fornecido como a função os.path.ismount
no Python.
Isso não ajudará você diretamente, porque se um diretório estiver vazio, isso não significa que ele era um ponto de montagem em algum outro momento. Se você quiser detectar pontos de montagem, precisará fazê-lo no momento da indexação. Você pode querer manter pontos de montagem separados em índices separados e atualizar apenas os índices cujas raízes estão presentes e não vazias. Tenha em atenção que um directório que é por vezes um ponto de montagem pode não estar vazio mesmo quando o sistema de ficheiros habitual não está montado, porque algum outro sistema de ficheiros está instalado ou simplesmente porque existem ficheiros nesse diretório (os ficheiros de um directório estão ocultos) enquanto esse diretório é um ponto de montagem).