发明名称 File cloning and de-cloning in a data storage system
摘要 A file cloning mechanism allows for quickly creating copies (clones) of files within a filesystem, such as when a user makes a copy of a file. In exemplary embodiments, a clone of a source object is at least initially represented by a structure containing references to various elements of the source object (e.g., indirect onodes, direct onodes, and data blocks). Both read-only and mutable clones can be created. The source file and the clone initially share such elements and continue to share unmodified elements as changes are made to the source file or mutable clone. None of the user data blocks or the metadata blocks describing the data stream (i.e., the indirect/direct onodes) associated with the source file need to be copied at the time the clone is created. At appropriate times, cloned files may be “de-cloned.”
申请公布号 US9087072(B2) 申请公布日期 2015.07.21
申请号 US201414252144 申请日期 2014.04.14
申请人 Hitachi Data Systems Engineering UK Limited 发明人 Picken Daniel J. N.;Berrington Neil
分类号 G06F7/00;G06F17/00;G06F17/30 主分类号 G06F7/00
代理机构 Sunstein Kann Murphy & Timbers LLP 代理人 Sunstein Kann Murphy & Timbers LLP
主权项 1. A computer program product comprising a tangible, non-transitory computer-readable medium having embodied therein a computer program for cloning a filesystem object in a file storage system, the filesystem object including a root node, an indirect node, at least one data block and a set of pointers being stored in the root node of the filesystem object, wherein the set of pointers of the root node of the filesystem object references the at least one data block via the indirect node referenced to by the set of pointers of the root node of the filesystem object, the computer program including instructions that, when run on a computer processor of the file storage system, causes the computer processor to perform processes comprising: creating, in the file storage system, a first snapshot object and storing a copy of the set of pointers of the filesystem object in the first snapshot object; and creating, in the file storage system, a writable clone object and storing a copy of the set of pointers of the filesystem object in the writable clone object; wherein each of the first snapshot object and the writable clone object includes a respective root node to which the set of pointers of the root node of the filesystem object are copied, wherein the set of pointers of the root node of the filesystem object, the set of pointers of the root node of the first snapshot object, and the set of pointers of the root node of the writable clone object reference to the same indirect node so that the first snapshot object and the writable clone object share the referenced indirect node and the at least one referenced data block with the filesystem object, and wherein the filesystem object and the writable clone object become writable versions of the first snapshot object and store changes from a copy of the object represented by the first snapshot object.
地址 Bracknell, Berkshire GB