Patent ID: 7930275

Claim:
A method for restoring data from a snapshot to an active file system of a storage system, comprising: duplicating at the storage system an inode of the data from the active file system, wherein the data exists in both the snapshot and the active file system; creating at the storage system a twin inode for the data in the active file system, wherein the twin inode comprises the duplicated inode; generating at the storage system a new inode for the data; and comparing a twin block pointer associated with the twin inode to a snapshot block pointer associated with a snapshot inode of the snapshot for the data, if the twin block pointer matches the snapshot block pointer, moving the twin block pointer from the twin inode to the new inode in the active file system, and if the twin block pointer does not match the snapshot block pointer, and a data block pointed to by the snapshot block pointer is not allocated in the active file system, copying the snapshot block pointer from the snapshot inode to the new inode in the active file system.