Patent ID: 8874859
Filing Date: 2014-10-28
Classification: G06F

Abstract:
1. A method for truncating a file stored in a virtual machine file system supporting execution of virtual machines, wherein the file represents a virtual disk of a virtual machine and the virtual machine includes a guest file system that stores data on the virtual disk, the method comprising: identifying a first data block of the virtual disk that is located closer to an end of the virtual disk than a second data block of the virtual disk; copying the data of the first data block into a location of the virtual disk that stores the data of the second data block; updating an entry in a first data structure so that the entry, which was previously mapped to the first data block, is now mapped to the second data block; updating an entry in a second data structure that maintains usage indicators for data blocks in the virtual disk so that a usage indicator for the second data block is changed from unused to used; and removing a reference to a virtual machine file system data block in a file descriptor for the file representing the virtual disk that is maintained by the virtual machine file system, thereby decreasing a size of the virtual disk, when none of multiple data blocks of the virtual disk corresponding to and smaller in size than the virtual machine file system data block are indicated as being used by the second data structure.