Meine Maschine ist 2018 mit openSUSE 15 neu aufgesetzt worden. Das Root-Dateisystem ist BTRFS und hat etliche Untervolumes, wie sie von openSUSE eben eingerichtet werden.
Die Freie-Platz-Verwaltung (space_cache) ist noch auf Version v1 und sollte nächstens auf v2 aktualisiert werden, da die Unterstützung für v1 aus den Linux-Kerneln, genauer der BTRFS-Treiber verschwinden soll.
An sich ist die Umstellung nicht schwierig, in /etc/fstab steht schon space_cache=v2. Aber die Umstellung erfolgt nur bei einem Übergang vom Zustand ro zu rw.
Mein Problem ist jetzt, dass ich diesesRoot- Dateisystem nicht in den Zustand ro bekomme. Das gelingt auch nicht im rescue-Mode mit “mount -o remount,ro /”. Das System meldet dann “mount point is busy”.
Deshalb meine Frage: Was muss ich machen um dieses Dateisystem in den Zustand ro (read-only) zu bekommen?
Damit ich einen Übergang von RO nach RW hinbekomme, der Linux motiviert den space_cache von Version v1 nach v2 zu bringen. (= alte versteckte Dateien löschen und einen B-Tree aufbauen).
Ich weiß nicht, ob es das Grundproblem mit der Umwandlung des Caches tatsächlich behebt, aber wenn ich mich richtig erinnere, wird / im “emergency”-Modus ro eingehängt. (Und die anderen Subvolumes gar nicht.) Allerdings nur, wenn du direkt so bootest, nicht, wenn du später in den “emergency”-Modus wechselst, nachdem / schon rw war.
Danke für den Hinweis auf den Modus “emergency”, der war mir tatsächlich nicht geläufig (hatte nur rescue auf dem Schirm). Und emergency hängt Root / tatsächlich read-only (ro) ein. Ich dachte schon, prima, dann mache ich jetzt exit und die Maschine bootet und macht damit den Übergang von ro nach rw.
Aber leider ist der Zustand danach unverändert.
[...] kernel: BTRFS warning (device sda2): space cache v1 is being deprecated and will be removed in a future release, please use -o space_cache=v2
Nochmal in den emergency-Modus gebootet. Mir war aufgefallen, dass das Sub-Volume in dem Root-Dateisystem mit Status rw ausgewiesen war, obwohl das Root-Dateisystem mit ro markiert war.
Das war dann wieder so, also zusätzlich das Sub-Volume mit einem remount in den Status ro versetzt.
Danach erst das Sub-Volumen mit remount rw und den Parameterwerten clear_cache und space_cache=v2 wieder eingehängt, dann gleiches Prozedere mit dem Root-Dateisystem,
Dann mit exit einen Neustart ausgelöst und siehe da: