Nie mam doświadczenia z btrfs, ale reklamowane jest, aby móc duplikować pliki.
W mojej aplikacji musiałbym powielić całe drzewa katalogów.
Z tego, czego się nauczyłem, btrfs usuwa duplikaty tylko w niektórych skanach postowych, a nie natychmiast. Nawet samo użycie cp
nie wydaje się wyzwalać żadnego usuwania duplikatów (przynajmniej df
pokazuje zwiększone użycie dysku w rozmiarze skopiowanych plików).
Czy mogę uniknąć przenoszenia danych w ogóle i nakazać btrfs
bezpośrednie skopiowanie pliku w innym miejscu, zasadniczo klonując jego metadane?
Zasadniczo, podobnie jak hardlink, ale z niezależnymi metadanymi (uprawnienia, czasy modyfikacji, ...).
cp --reflink=always
, wynik z perspektywy użytkownika będzie dwoma całkowicie niezależnymi plikami pod każdym względem. Fakt, że bazowy system plików wyodrębnia to poprzez kopiowanie przy zapisie, jest jedynie szczegółem implementacji. Nie dostajesz „twardego linku, ale z niezależnymi metadanymi”. Według mojej wiedzy btrfs nie wykonuje jeszcze żadnej automatycznej deduplikacji. Myślę, że to plan na przyszłość, ale nie jestem tego pozytywny.
cp --reflink=always
.