A system and method for reclaiming unused space from a thinly provisioned
data container served by a storage system. A host-side agent detects
blocks of the data container that may be freed and sends a novel Punch
Hole command to the storage system associated with the data container.
The storage system allocates the appropriate blocks in response to the
Punch Hole command.