I haven't had a chance to dig in to it yet. Most of the time, Docker uses `overlayfs` to emulate COW, but on btrfs it can just use the filesystem's native COW. In my mind it's about equally likely that it's Docker's fault as it is btrfs's fault; that perhaps Docker's btrfs storage driver is doing something dumb.
For VMs and containers isn't it pretty common to use a subvol where CoW is disabled for their disk images? Same thing for ZFS with datasets that disabled CoW for things like that.
> Same thing for ZFS with datasets that disabled CoW for things like that.
Does ZFS let you disable CoW?
Huh. Looks like it doesn't! I knew that BTRFS did and saw that it was on the roadmap for bcachefs, and assumed it was something you could tweak in ZFS as well.