Case study: recovery of a corrupted 12 TB multi-device pool
L'auteur présente une étude de cas sur la récupération d'un pool btrfs de 12 To multi‑périphériques gravement corrompu après une coupure de courant. La corruption des arbres d'extent et d'espace libre sur un pool à trois dispositifs (data single, metadata DUP, disques DM‑SMR) a rendu toute réparation native inefficace et a provoqué une boucle de plus de 46 000 commits lors d'un btrfs check --repair, effaçant les points de restauration dans backup_roots. La récupération a réussi à l'aide de quatorze outils C personnalisés utilisant l'API interne de btrfs‑progs, avec une perte finale de données d'environ 7,2 Mo sur 4,59 To, et le pool est désormais opérationnel. L'auteur détaille neuf axes d'amélioration prioritaires pour btrfs‑progs (par ex. détection de progression dans --repair, commandes rescue pour reconstruire l'étendue et nettoyer les inodes orphelins, gestion encadrée d'EEXIST et meilleure documentation), et fournit une implémentation de référence sur GitHub. Il propose ces éléments comme contribution constructive, offre de fournir des preuves et de tester des correctifs, et précise que les outils publiés ont par défaut un mode lecture seule et un mode --write activable.