Что такое номера поколений инодов?

Я планирую реализовать файловую систему FUSE с использованием низкоуровневого API и в настоящее время пытаюсь понять структуру fuse_entry_param.

Интересно, что на самом деле означает unsigned long fuse_entry_param::generation. В документации говорится, что пара ino/ поколениедолжна быть уникальной на протяжении всего времени существования файловой системы, но не вдается в подробности.

Какова семантика генерации инодов и как они используются?

Например, могу ли я просто рассматривать поколениекак дополнительные биты ino(как своего рода пространство имен) и свободно использовать их для сопоставления произвольных уникальных 128-битных ( 2*sizeof(unsigned long)на x86_64) значения в иноды? Или поколения должны увеличиваться только последовательно? Что происходит, когда номера инодов совпадают, но номера их поколений различаются?

8
задан drdaeman 17 June 2012 в 14:22
поделиться