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. --- meta/base.txt | 4 ---- 1 file changed, 4 deletions(-) (limited to 'meta') diff --git a/meta/base.txt b/meta/base.txt index 1cb96dc..1f7cdd8 100644 --- a/meta/base.txt +++ b/meta/base.txt @@ -75,10 +75,6 @@ nix perf # links against running kernel ABI; must match kernel pkg podman-compose podman-docker -fuse-overlayfs # podman rootless storage driver on btrfs (kernel overlayfs - # doesn't support btrfs as a lower dir; podman falls back to - # vfs which is unusable). ~10-30% slower than native overlay - # but unavoidable as long as ~/.local/share/containers is on btrfs. # --- sound --- alsa-utils -- cgit v1.3.1