From aabcdc206246aa935790908f2ab7e7edcc88b3b9 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 29 May 2026 11:18:13 +0100 Subject: feat(podman): switch rootless storage driver to btrfs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fuse-overlayfs is dog-slow on `podman commit` (and noticeably slower than native overlay/btrfs for layer extraction in general) because every read/write round-trips through a FUSE daemon. The kernel overlay driver does not support btrfs as a lowerdir, so on a btrfs root fs the choices were: - fuse-overlayfs (slow, but works) - btrfs (native subvolume + CoW snapshot per layer; fast) Switching graph drivers is destructive — the on-disk layout is incompatible, so a one-time `podman system reset --force` is required. A migration helper script lives at the repo root (gitignored, chezmoiignored) that snapshots stateful containers, exports images and volumes, runs the reset, and restores everything on the new driver. Drops fuse-overlayfs from meta/base.txt — no longer needed and pulls in libfuse3 transitively for nothing. (Flatpak still depends on it for its own sandbox; pacman won't actually uninstall the binary while flatpak is around — that's fine.) VM (nix/vm.nix) is unaffected: it sets its own storage.conf inline with driver=overlay since its rootfs is ext4. --- .chezmoiignore | 1 + 1 file changed, 1 insertion(+) (limited to '.chezmoiignore') diff --git a/.chezmoiignore b/.chezmoiignore index 34be6e8..99af635 100644 --- a/.chezmoiignore +++ b/.chezmoiignore @@ -1,6 +1,7 @@ KEYBINDS.md README.md bootstrap.sh +migrate-podman-to-btrfs.sh meta/ systemd-units/ etc/ -- cgit v1.3.1