niedziela, listopada 07, 2010

Hammer w DragonFly BSD


DragonFly ma bardzo fajny system plików koncepcyjnie podobny do ZFS-a. Można w nim wersjonować obiekty, wersja odpowiada transakcji systemu plików.




Zwykłe dd zapisujące pakietowo wygenerowało sporo transakcji. Prześledźmy co dd robi.



Plik test.dat jest otwarty z flagami 0x602. Zajrzyjmy do fcntl.h:
#define O_RDONLY    0
#define O_WRONLY 1
#define O_RDWR 2
#define O_CREAT 0x0100
#define O_TRUNC 0x0200
#define O_EXCL 0x0400
0x602 = O_EXCL | O_TRUNC | O_RDWR. Transakcje generuje zwykła operacji write.
Mamy teraz dwie implikacje:
1. bezpieczny system plików umożliwiający łatwe odzyskiwanie danych
2. dla wersjonowania poświęcamy sporo miejsca na dysku i trochę wydajność.


DragonFly obsługuje pakiety źródłowe i binarne.

0 komentarze: