It's generally recommended by upstream Btrfs developers to set nodatacow using chattr +C on the containing directory for VM images or by having image files created with the attribute set from the beginning. This avoids painful performance issues and extreme fragmentation caused by CoW happening in the disk image file itself as well as on the backing filesystem.
nodatacow
chattr +C
This is a stub for RHBZ#1855000.
This was implemented by @berrange in libvirt version 6.6.0, in which storage pools backed by Btrfs automatically have nodatacow set by default.
However, this cropped up an issue for non-Btrfs backing stores (RHBZ#1870197), which is being addressed.
Metadata Update from @ngompa: - Issue untagged with: Dev
Metadata Update from @ngompa: - Issue tagged with: Dev
The issue for non-Btrfs stores has been fixed: https://src.fedoraproject.org/rpms/libvirt/c/bc1b3e59a7c8e4c3efb28888cce9acfe146fb5e8?
I can confirm that GNOME Boxes and virt-manager set chattr +C on their respective enclosing directories as expected. Also updated RHBZ#1855000
Issue status updated to: Closed (was: Open) Issue close_status updated to: Fixed
Log in to comment on this ticket.