Jak uczynić migawkę btrfs zapisywalną?


37

Według łatki btrfs Readonly do snapshotów można „ustawić migawkę tylko do odczytu / zapisu w locie”. Więc powinienem być w stanie w btrfs snapshot -rjakiś sposób zmienić zapis tylko do odczytu (utworzonego za pomocą ) zapisu.

Ale ani strona podrzędna btrfs, ani żadna inna część tej strony nie wydaje się na to pozwalać .


Aby obejść ten problem, można utworzyć zapisywalne zdjęcie stanu tylko do odczytu. (Robię to, jeśli nie mam Internetu, aby sprawdzić to pytanie)
matega

Odpowiedzi:


42

Strona btrfs nie udokumentowała propertypodkomendy, którą znalazłem przez grep'owanie źródła. Jest również w btrfs --help.

Aby ustawić migawkę do odczytu i zapisu, wykonaj coś takiego:

btrfs property set -ts /path/to/snapshot ro false

Zmień to, aby trueustawić tylko do odczytu.

Możesz także użyć, listaby zobaczyć dostępne właściwości:

btrfs property list -ts /path/to/snapshot
ro                  Set/get read-only flag of subvolume.

-tokreśla typ obiektu do pracy, soznacza podobjętość. Inne opcje to f(system plików), i(i-węzeł) i d(urządzenie). Jeśli nie określisz, wyświetli wszystkie odpowiednie (dla listy) lub spróbuje zgadnąć, czy pobrać / ustawić.

Edycja: w najnowszych narzędziach btrfs znajduje się strona btrfs-propertypodręcznika dokumentująca tę podkomendę, chociaż wcale nie jest wymieniona na stronie głównej. Jest również dostępny jako strona właściwości btrfs na wiki .

(Uwaga: Wymaga to wystarczająco nowych narzędzi btrfs. Najwyraźniej w Debian Wheezy będziesz musiał zainstalować zaktualizowane narzędzie z wheezy-backports; dzięki artfulrobot ).


2
Przekonasz się również, że podczas gdy interfejsy API jądra ewoluują, a dystrybucje są dostarczane z nowszymi i nowszymi jądrami, btrfs-toolsznalezione w niektórych tych samych dystrybucjach nie zawsze są wyrównane. Czasami więc musiałeś skompilować najnowsze narzędzia btrfs z repozytorium git upstreams, aby móc korzystać z funkcji btrfs twojego jądra (przynajmniej tak było kilka lat temu).
Stéphane Chazelas,

@ StéphaneChazelas Tak, zdecydowanie. Chociaż w tym przypadku jestem w trakcie testowania Debiana, który ma btrfs-tools 3.14, więc nie jest tak niesamowicie stary.
derobert,

1
@ mikeserv Rzeczywiście wydaje się, że 3.14.2 je rozdzieliły. Mam wersję 3.14.1, która jest tylko kilka miesięcy starsza, zgodnie z git kernel.org . Ale nawet bieżąca strona podręcznika nie wspomina o właściwościach. Sprawdziłem też (i linkowałem) bieżącą na wiki. Okazuje się jednak, że jest to osobna, niepowiązana strona podręcznika .
derobert

Musiałem zainstalować btrfs-tools z Wheezy-backports, aby to zadziałało.
artfulrobot

@artfulrobot dziękuję, do odpowiedzi dodano notatkę.
derobert
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.