发明名称 Versioning file system
摘要 An apparatus and a method for versioning a file of a file system is described. A versioning module stores multiple versions of the file. The file is opened for write access. The versioning module identifies an file mapping structure of a block associated with the file, copies the content of the file mapping structure of the file to a new file mapping structure of the file, and allocates a new block to the file as represented by the file mapping structure.
申请公布号 US9063948(B2) 申请公布日期 2015.06.23
申请号 US200812324766 申请日期 2008.11.26
申请人 Red Hat, Inc. 发明人 Schneider James Paul
分类号 G06F17/30;G06F15/16 主分类号 G06F17/30
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A method comprising: associating a first version of a file with a first file mapping structure and a first data block; creating a second version of the file in response to a first opening, by a processing device, of the file for write access; allocating, by the processing device, a second file mapping structure and a second data block to the second version of the file and copying content of the first file mapping structure to the second file mapping structure; updating a pointer of the second file mapping structure to point to the first file mapping structure; updating a pointer of the first file mapping structure to point directly to the second file mapping structure, wherein the first file mapping structure and the second file mapping structure are associated to each other in two directions and create two versions of the file; associating, by the processing device, each of the first data block and the second data block to a corresponding bitmap, with a set bit in the corresponding bitmap indicating whether the corresponding data block belongs only to a prior version file mapping structure; maintaining a list of the pointers ordered by a respective access time; and reviewing the list in an order of least recently accessed to most recently accessed and the bitmap to identify a data block to repurpose.
地址 Raleigh NC US