Patent ID: 7555504

Claim:
A file server comprising: storage containing a file system; and a processor coupled to the storage for accessing the file system; wherein the file system includes a production file, read-only snapshot copies of the production file, and at least one read-write snapshot copy of the production file; wherein the production file and the snapshot copies of the production file are organized as a version set; the version set including an inode for the production file and an inode for each snapshot copy of the production file, and a set of file blocks including data blocks and indirect blocks that are shared among the production file and the snapshot copies of the production file; wherein the inodes in the version set include pointer fields, and wherein each pointer field includes a pointer to a block in the version set and a flag indicating whether or not the version of the production file of the inode is an oldest snapshot copy of the production file including an identical version of the block pointed to by the pointer in said each pointer field; and wherein the file server is programmed to maintain for each block in each read-only snapshot copy of the production file an indication of whether or not said each snapshot copy of the production file is an oldest snapshot copy of the production file including an identical version of said each block by maintaining said flag indicating whether or not the version of the production file of the inode is an oldest snapshot copy of the production file including an identical version of the block pointed to by the pointer in said each pointer field.