On Jan 4, 2014, at 11:39 PM, Marc MERLIN <m...@merlins.org> wrote:

> 
> Nope, I never posted anything until now. Hopefully you agree that it's
> not ok for btrfs/kernel to just kill my system for over 2H until I power
> it off before of defragging one file. I did hit a severe performance but
> if it's not a never ending loop.
> 
> gandalfthegreat:/var/local/nobck/VirtualBox VMs/Win7# filefrag Win7.vdi 
> Win7.vdi: 156222 extents found
> 
> Considering how virtualbox works, that's hardly surprising.

I haven't read anything so far indicating defrag applies to the VM container 
use case, rather nodatacow via xattr +C is the way to go. At least for now.

> 
> But doesn't it make sense to see why the kernel is near deadlocking on a
> single file defrag first?

It's better than a panic or corrupt data. So far the best combination I've 
found, open to other suggestions though, is +C xattr on 
/var/lib/libvirt/images, creating non-preallocated qcow2 files, and 
snapshotting the qcow2 file with qemu-img. Granted when sysroot is snapshot, 
I'm making btrfs snapshots of these qcow2 files. Another option is to make 
/var/lib/libvirt/images a subvolume, and then when sysroot is snapshot, then 
/var/lib/libvirt/images is immune to being snapshot automatically with the 
parent subvolume. I'd have to explicitly snapshot it. This may be a better way 
to go to avoid accumulation of btrfs snapshots of qcow2 snapshot files.

This may already be a known problem but it's worth sysrq+w, and then dmesg and 
posting those results if you haven't already.


Chris Murphy

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to