How do I use zfs driver for podman without breaking bootc?
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 230
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 38
Description
I've configured my system to use `zfs` driver for podman storage:
/etc/containers/storage.conf:
```toml
[storage]
driver = "zfs"
graphroot = "/srv/containers"
[storage.options.zfs]
fsname = "srv/containers"
```
Turns out, this makes bootc complain about the extra storage it keeps for logically bound images:
```
Deploying: done (7 seconds)
error: Upgrading: Staging: Pulling bound images: Creating imgstorage: Initializing images: Subprocess failed: ExitStatus(unix_wait_status(32000))
time="2025-10-08T01:32:08+01:00" level=error msg="No zfs dataset found for root" backingFS=tmpfs root=/run/bootc/storage storage-driver=zfs
Error: configure storage: no zfs dataset found for rootdir '/run/bootc/storage': prerequisites for driver not satisfied (wrong filesystem?)
```
As far as I understand bootc keeps an additional storage area, that is going to be initialized the first time it's used. With `driver=zfs` podman can't use that location, as it's on `tmpfs`.
if I run `STORAGE_DRIVER=overlay bootc update` the extra storage area is initialized as `overlay`, and subsequent calls work fine, as the initialized storage remembers its type.
Do you think bootc should override `STORAGE_DRIVER=overlay` in its calls?
Contributor guide
Assessment
This issue has not been assessed yet.