Bonjour,
J'aimerais essayer de comprendre un phénomène assez bizarre concernant les numéros d'inodes sur un système de fichiers monté en cifs.
Ma partition principale est en ext3.
Lorsque je fais un ls -i sur un fichier JPG issu d'un montage cifs, à plusieurs reprises consécutives, j'ai toujours le même numéro d'inode.
J'utilise un script php pour mettre en cache des miniatures de ces images. J'utilise dans mon nom de fichier "cache" le numéro d'inode du fichier source pour détecter s'il a déjà été généré ou non.
A chaque fois, mon script me renvoie un numéro d'inode différent pour le même fichier.
Quand je refais un ls -i sur mon fichier, le numéro d'inode a changé.
Un ls -l me permet de voir que la date du fichier n'a pas changé, donc a priori il n'a pas été touché (et n'a pas de raisons d'avoir été touché).
Un touch sur le fichier suivi d'un ls -i me confirme que l'inode n'a pas changé.
Quelqu'un peut-il m'expliquer ce qu'il se passe ?
J'aurais pu poster sur un forum php, mais le bout de script ne fait qu'utiliser la fonction fileinode($file) ce qui à mon sens n'incrimine pas mon script.
Par contre, peut-être est-ce dû au système de fichiers ou à quelque chose d'autre qui m'échappe pour que mes numéros d'indes changent comme ça. En loguant mes créations de miniatures, je peux confirmer que les chemins d'accès aux fichiers sont strictement identiques avec des inodes différents.
J'irai voir du côté php si pour vous rien ne peut permettre un tel changement de numéro d'inode.
En vous remerciant.
Partager