Patent WO-0229573-B1 (WO)
Title: Instantane
Inventor: LEWIS BLAKE
IPC: G06F11/14
Filed: 2001-08-17
Abstract: L'invention porte sur un procédé et un appareil améliorés permettant de créer un instantané d'un système de fichier. Dans une première variante de l'invention, une logique de « copie à l'écriture » est utilisée. Une logique d'instantané peut être efficace lorsqu'elle est utilisée dans l'espace mémoire et dans l'espace temps nécessaire pour la crée, car les systèmes de fichier sont souvent grands. L'instantané utilise les mêmes blocs que le système de fichier actif jusqu'à modification de ce dernier. Chaque fois qu'il y a une modification, les données modifiées sont copiées sur un nouveau bloc et les anciennes données sont sauvegardées (désormais appelée « copie à l'écriture »). De cette façon, l'instantané n'utilise que l'espace où il diffère du système de fichier actif, et la quantité de travail requise pour créer l'instantané est faible. Dans une deuxième variante de l'invention dont les blocs d'enregistrement sont utilisés par l'instantané est inclus l'instantané lui-même, ce qui permet de créer et d'annuler l'instantané de manière efficace. Dans une troisième variante, l'état du système de fichier actif est défini par un ensemble de métafichiers ; notamment, un topogramme binaire (désormais appelé « topogramme actif ») définit quels sont les blocs libres et quels sont ceux en utilisation. Le fichier inode définit quels sont les blocs utilisés par chaque fichier, y compris les métafichiers. Le fichier inode lui-même est défini par un « root inode » spécifique, également connu sous le nom de « bloc fsinfo ». Le système commence à créer un nouvel instantané en faisant une copie de « root inode ». Cette copie de « root inode » devient la base de l'instantané. Root inode capture tous les états requis pour créer l'instantané tels que l'emplacement de tous les fichiers et répertoires du système de fichier. Lors de mises à jour ultérieures du système de fichier actif, le système consulte les topogrammes binaires inclus dans l'instantané (« le topogramme instantané ») afin de déterminer si un bloc libre peut être réutilisé ou s'il appartient à l'instantané. Cette logique permet au système de fichier actif de conserver une trace de ces blocs que chaque instantané utilise sans enregistrer d'informations supplémentaires sur la tenue de la comptabilité du système de fichier. Dans une quatrième variante, l'instantané peut être également effacé par simple suppression de son « root inode ». En outre, la tenue de la comptabilité n'est pas nécessaire puisque l'instantané comprend sa propre définition. Dans une cinquième variante, les charges de performance associées à la recherche de trois blocs sont réduites par l'inclusion d'un fichier récapitulatif qui identifie des blocs utilisés par au moins un instantané ; c'est le OU logique de tous les fichiers de topogramme instantané. Le code d'affectation d'écriture décide si un bloc est libre en examinant le topogramme actif et le fichier récapitulatif. Le topogramme actif indique si le bloc est en cours d'utilisation dans le système de fichier actif. Le fichier récapitulatif indique si le bloc est utilisé par un instantané quelconque. Dans une sixième variante, le fichier récapitulatif indique si le bloc est mis à jour dans l'arrière-plan après création ou suppression d'un instantané. Ceci se produit simultanément avec d'autres opérations du système de fichier. Deux bits sont mis en mémoire dans le système de fichier 'bloc fsinfo ' pour chaque instantané. Ces deux bits indiquent si le fichier récapitulatif a besoin d'être mis à jour à l'aide des informations du topogramme instantané suite à sa création ou suppression. Lorsqu'un bloc est libéré dans le système de fichier actif, le bloc correspondant du fichier récapitulatif est mis à jour avec le topogramme instantané à partir de l'instantané le plus récent, si cela n'a pas déjà été