1. A system, comprising at least one processor and memory, for managing data on a storage system, the storage system providing data storage for a storage object and a clone of the storage object, the system configured for: receiving a write allocation for a data block of the clone, wherein the data block includes a virtual address pointer to a location within an address space of the clone, the clone comprises a plurality of data blocks and is based on the storage object, and the data block comprises a physical address pointer to a location within a storage aggregate; determining if the data block is shared with at least one data block of the storage object; assigning a new pointer to the physical address pointer if the data block is shared with at least one data block of the storage object; and updating, when the new pointer is assigned, a data block map of the clone by changing a physical address pointer in the data block map paired with at least one virtual address pointer corresponding to the virtual address pointer with the new pointer.