Propagation of data by mirroring the data from a first filer to a second
filer, and then mirroring the data from the second filer to a third filer. More
generally, propagating data by mirroring the data along a chain or cascade of mirrors.
Snapshots are used in mirroring the data. Preferably, the data is organized in
one or more volumes on the filer, and one or more of the volumes are mirrored.
Deletion is prevented of a snapshot associated with a volume from a filer until
the filer is informed that no other filer needs that snapshot to mirror the volume
from the filer. Preferably, each filer uses softlocks to track what snapshots correspond
to volumes mirrored down the chain or cascade of filers.