Como não abrir um arquivo duas vezes no linux?

Eu tenho uma lista vinculada com um fd e uma string que eu usei para abrir esse arquivo em cada entrada. Quero abrir e adicionar arquivos a esta lista apenas se esse arquivo ainda não estiver aberto, porque abro e analiso esses arquivos e não quero fazê-lo duas vezes. Minha idéia era comparar o nome do arquivo com todos os nomes desta lista, mas meu programa faz isso várias vezes e um arquivo no Linux pode ter vários nomes (links físicos / físicos). Eu acho que não deve ser tão complicado, porque é fácil para o sistema operacional verificar se eu já usei um inode ou não, r? Eu já tenteiopen o mesmo arquivo com e semflock, mas sempre recebo um novofd.

questionAnswers(3)

yourAnswerToTheQuestion