Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/shrink-volume-in-thin-provisoning.
Thin provision means allocating the disk space once the instance writes the data on the area of volume in the first time.
However, if the files in the instance were deleted, thin provision could not deal with this situation. The space that was allocated by the files could not be released.
So it is necessary to shrink the volume periodically when the files are deleted in the instance.
Specification URL (additional information):