Patent ID: 11947489
Assignee: ROBIN SYSTEMS, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A method comprising:
transmitting, by a storage manager comprising a processing device and one or more memory devices, a plurality of new snapshot instructions with respect to a storage volume, the plurality of new snapshot instructions including both of new principal snapshot instructions and at least one new clone instruction, each new snapshot instruction having a corresponding preceding snapshot node in a hierarchical representation of the storage volume; and
for each new snapshot instruction of the plurality of new snapshot instructions, adding a new snapshot node as a descendent to the corresponding preceding snapshot node of the each new snapshot instruction in the hierarchical representation, the new snapshot node for the at least one new clone instruction having a clone classification;
wherein the method further comprises:
receiving, by a storage node of a plurality of storage nodes coupled to the storage manager by a network, a new snapshot instruction of the plurality of new snapshot instructions;
in response to receiving the new snapshot instruction
allocating a new segment;
creating an entry in a segment table mapping the new segment to a new snapshot; and
writing data from subsequent write requests for the storage volume referencing the new snapshot to the new segment; and

wherein the method further comprises:
receiving, by the storage manager, a roll back instruction to a selected snapshot for the storage volume having a corresponding selected snapshot node in the hierarchical representation; and
in response to the roll back instruction, (i) for each first snapshot node in the hierarchical representation that is a descendent of the selected snapshot and does not have a descendent having the clone classification, instructing a storage node of the plurality of storage nodes storing a snapshot corresponding to the each first snapshot node to free all segments mapped to the snapshot corresponding to the each first snapshot node and (ii) for each second snapshot node in the hierarchical representation that is a descendent of the selected snapshot node and has a descendent having the clone classification, refraining from instructing the storage node of the plurality of storage nodes storing a snapshot corresponding to the each second snapshot node to free all segments mapped to the snapshot corresponding to the each second snapshot node.