Bunu yapabilen bir python aracı oluşturdum . Bunu yaptım çünkü @Thomas Luzat'ın hem benim hem de @Johannes Ernst uygulamasında yaklaşımını denedim ve klonlama prosedüründe kullanılan alan 20GB'dan 40GB'ye iki katına çıktı. Daha verimli bir şeye ihtiyaç olduğunu düşündüm.
Bu yaygın dosya sistemi geçmişini göz önünde bulundurun:
current ---------------------------------\
| | | |
snap4 snap3 snap2 snap1
Thomas algoritması ile önce "akım" klonlanır ve tüm anlık görüntüler (eski "akım" durumlarının anlık görüntüleri olarak) klon kaynağı / üst öğesi olarak "akım" kullanır. Açıkçası, snap3'ü snap4'e, snap2'yi snap3'e vb.
Ve bu sadece buzdağının görünen kısmı; karmaşık bir geçmişi olan bir btrfs dosya sisteminde "en iyi" klon kaynaklarını bulmak (yer tasarrufu açısından) önemsiz bir sorundur. Bu problemi çözmek için alanı daha verimli kullandığımız 3 strateji geliştirdim. Biri aslında kaynağınkinin biraz altında klon boyutuyla sonuçlandı.
İlgileniyorsanız github sayfasındaki ayrıntıları okuyabilirsiniz .