Estoy planeando implementar un sistema de archivos FUSE usando API de bajo nivel y actualmente estoy intentando comprender la estructura fuse_entry_param
.¿Qué son los números de generación de inodo?
Me pregunto qué significa realmente unsigned long fuse_entry_param::generation
. Documentation says solo que ino
/generation
el par debe ser único para la duración del sistema de archivos, pero no entra en detalles.
¿Cuál es la semántica de las generaciones de inodo y cómo se usan?
Por ejemplo, ¿puedo considerar como un generation
bits adicionales de ino
(como una especie de espacio de nombres) y utilizarlas libremente para mapear arbitraria vida-única de 128 bits (x86_64) 2*sizeof(unsigned long)
en los valores de i-nodos? ¿O las generaciones solo deben incrementarse secuencialmente? ¿Qué sucede cuando los números de inodo colisionan, pero sus números de generación son diferentes?