A computer-implemented method for managing data snapshots among storage volumes
to facilitate transitive, distributed snapshot operations such that a read request
or write request can be made to any volume in a snapshot includes establishing
respective snapshot tables for the volumes. Each table can correlate, for each
chunk of data, a source volume and a target volume. In response to a read request
for chunks in one the volumes, the respective snapshot table is accessed, and the
read directed to the source volume indicated in the snapshot table. Likewise, in
response to a write request for chunks in a storage volume, the table associated
with the volume is accessed, and the write is directed to the target volume indicated
in the table. For each chunk, the source volume is the same across all tables,
such that a read or write involves no more than a single storage volume.