A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:
- generating a tree structure characterizing relationships between a plurality of storage objects in a storage system, the tree structure comprising a plurality of logical page nodes representing the plurality of storage objects, the plurality of logical page nodes specifying respective logical page addresses in a logical address space of the storage system, arrays of pointers to one or more other logical page addresses in the logical address space, snapshot group identifiers for snapshot groups in the storage system, and logical extent offsets in the logical address space;
- receiving a query comprising a given logical page address, a given snapshot group identifier for a given one of the snapshot groups, and a given logical extent offset;
- traversing the generated tree structure to identify:
- (i) whether the generated tree structure comprises a given logical page node specifying the given logical page address, the given snapshot group identifier, and the given logical extent offset;
- and (ii) one or more other ones of the plurality logical page nodes that specify the given snapshot group identifier and the given logical extent offset and comprise a pointer to the given logical page address in its associated array of pointers;
- and
- providing a response to the query specifying the given logical page node and the identified other ones of the plurality of logical page nodes.