Ticket #7498 (closed defect: fixed)
DiskFull-Error when deleting snapshots corrupts virtual host (dataloss)
|Reported by:||mbr||Owned by:|
|Version:||VirtualBox 3.2.6||Keywords:||dataloss, disk-full, merge, snapshot|
Description (last modified by aeichner) (diff)
I've got a Virtual Box 3.2.6 r63112 running on a recent Ubuntu Lucid (x86) with a Windows XP VM without VT-x (or thelike). This VM had five snapshots attached to it and the hard disk was in sparse mode when the hosts filesystem ran full. The machine was halted as expected and a warning issued. I then removed some caching files from linux and resume the machine, only to suspend it (save state to disk) then. That time I had around 5 GB from 160 GB free disk space. I wanted to remove some of the snapshots to get more free space, so I choosed the oldest snapshot. The process startet and after some time a DISK_FULL error occured. The virtual machine is now unbootable (error message: object is not ready) and the media manager reports a missing snapshot file required to boot the machine. It is the first snapshot file below the original disk image. It looks to me as if the data contained in the lost snapshot differential image and all later snapshots is lost.
I'd be happy to see the following fixes applied:
- (short term): Issue a warning requesting the user to check that sufficied space is available (and give him some safe numbers to he can actually check) BEFORE starting the differtial image merge offering an option to abort.
- (mid term): Hold the differencing image merge process if the disk is full and allow the user to resume once space is available. Just as it is the case with a running VM.
- (long term): Modify(?) the merge process to allow a safe abort. This could either be by defaulting to creating a new image containing the merged image while leaving the original files intact and delete only after having completed writing or by some other means allowing a safe abort.
All the suggested solutions would avoid data loss.