In my limited experience this is often from overloaded virtualization platform where this VM is located on. Can be vmware or proxmox, on proxmox its sometimes when VM is being live migrated to other virtualization host. Can also happen when backend storage where this VM is located is busy with other hosts.
EDIT: none of the VMs where I have ever seen this had btrfs, it was always ext4 mentioned in follow up error message, so pretty much filesystem agnostic issue. If this is on hardware however, then I don't know whats going on there.