A file server maintains a series of read-only snapshot copies of a production
file
system. A read-write snapshot copy is created based on a selected read-only snapshot
copy by maintaining a set of save volume blocks of new data of the read-write snapshot
copy. A block of new data is written to the read-write snapshot copy by allocating
a save volume block and writing to the save volume block. A specified block is
read from the read-write snapshot copy by checking whether there is a respective
save volume block allocated to the specified block, and if so, reading from the
respective save volume block, and if not, reading from the read-only snapshot copy
upon which the read-write snapshot copy is based. The read-write snapshot copy
can be refreshed with a specified read-only snapshot copy. The production file
can be restored with a specified read-write snapshot copy.