Patent ID: 7334094
Filing Date: 2008-02-19
Classification: G06F

Abstract:
1. A system configured to enable efficient online splitting of blocks shared between a parent volume and a clone of a storage system, the system comprising: a clone scanner executing on the storage system, the clone scanner adapted to examine all blocks used in the clone to determine those blocks that are not owned by the clone; an inode file of the clone that has pointers to one or more blocks in the parent volume and one or more blocks in the clone, the inode file adapted to organize all inodes of a file system executing on the clone, wherein each inode of the inode file forms a root of an inode buffer tree and contains pointers to indirect blocks, each indirect block including pointers to data blocks; the clone scanner is further adapted to scan the inode buffer tree of each inode and determine whether to initiate writing of a new copy of a block used in the clone depending upon whether the block is not owned by the clone; and a write allocator executing on the storage system, the write allocator adapted to copy those blocks that are not owned by the clone to the clone, to thereby split the blocks shared between the parent volume and clone, wherein the write allocator performs a copy-on-write operation that loads the blocks that are not owned by the clone into new blocks that are owned by the clone, without altering any data contents of the blocks.