摘要 |
A method, system, and computer program product for creating and implementing file clones using reverse ditto references. A clone inode is created as a copy of an original inode. The clone inode and the original inode are indistinguishable to an end user. Each additional file clone created spawns a clone inode. An immutable clone-parent inode is created that contains the disk block addresses, while writable clones inode instead contain dittos linking the clone inode to data blocks referenced in the clone-parent inode. Data block address links in the original inode are moved to the new clone-parent inode and dittos replace the original data block address links in the original inode. When a clone file is updated, the new data is written to a new disk location and a corresponding ditto in the clone inode is replaced with a data block link address, keeping the data of the clone-parent inode intact. |