摘要:
Embodiments include a computer program product and an apparatus for cloning files across different filesets and maintaining the clone files. After a clone file is created from a file, a write request targeting the clone file can be handled. It is determined that the write request indicates the clone file that was cloned from a file in a first fileset. The clone file is of a second fileset and a clustered file system comprises the first fileset and the second fileset. A data block of the clone file affected by the write request is determined. It is then determined that the data block at a current location cannot be modified. The write request is implemented with respect to the data block at a different location. It is indicated that the data block at the different location can be modified for subsequent write requests that indicate the clone file.
摘要:
In a cluster that distributes fileset management, fileset managers will maintain a free block map and an in-flight block map to allocate blocks to clients writing to a relevant fileset. A fileset manager managing free block allocation for cluster clients that write to a fileset managed by the fileset manager. Since a clustered file system manager manages an initial free block map for the cluster (“cluster free block map”), the clustered file system manager provisions free blocks to fileset managers from the cluster free block map. The fileset manager then allocates free blocks from the provisioned free blocks to cluster clients that write to the fileset managed by the fileset manager.
摘要:
Maintaining a generation value for each fileset that is distinct from a corresponding fileset manager preserves the independence of nodes while also allowing distributed fileset management. A fileset manager can maintain a value that reflects consistency snapshots for that node (“node generation”) separately from a value that reflects consistency snapshots for a particular fileset (“fileset generation”).
摘要:
One embodiment is for using a sparse file as a clone. The method includes creating, by an application associated with a computer system, a snapshot of a file, such as an individual file, a collection of files, file system, directories, and so forth. Further, the method includes requesting, by the application, a clone of that created snapshot. Further still, the method includes generating, by the application, an empty sparse having at least one inode identifying the empty sparse file as the clone and pointing to the snapshot associated with the clone. Thereby, the requested clone is created using the created sparse file, which begins as an empty sparse file.
摘要:
A system for managing a file system. In response to a user selecting an image of the file system to perform a rollback operation, each data block in the file system that is owned by the image is searched for. Then, it is determined whether a data block owned by the image is marked in a first map and a second map. In response to determining that the data block owned by the image is marked in the first map and the second map, the data block is marked in a third map. In response to determining that the data block owned by the image is marked in the third map, a new data block is allocated in the file system. Subsequently, data from the data block owned by the image is copied to the new data block in the file system prior to performing the rollback operation to avoid a collision that causes data corruption.
摘要:
Embodiments include a method for removing a file within a redirect-on-write file system. In some embodiments, a file removal operation is detected in a file management unit, which resides in a memory unit. It is then determined that the number of free data blocks in the persistent storage is below a minimum threshold. The file removal operation is written to a log used for storing system operations. A file management unit is notified of the successful write of the file removal operation to the log used for storing system operations. The data blocks are moved from the file selected for removal to a list of free data blocks. The indirect blocks from the file selected for removal are moved to a data block removal list.
摘要:
A client node on which a file system is mounted can be configured to efficiently handle content access requests after a snapshot is created. The client node can maintain generation numbers at a data block, a file, and a fileset level to determine whether a data block is part of a snapshot generation and consequently whether the data block is writable in a current generation. Data block mappings and write access permissions associated with the data blocks need not be revoked at the client node prior to creating the snapshot. Cached data block mappings can be accessed to identify data blocks for servicing a read request. The data block can be updated in place if the data block is not part of the snapshot generation. The write request can be serviced at a new data block if the data block is part of the snapshot generation.
摘要:
One embodiment is for using a sparse file as a clone. The method includes creating, by an application associated with a computer system, a snapshot of a file, such as an individual file, a collection of files, file system, directories, and so forth. Further, the method includes requesting, by the application, a clone of that created snapshot. Further still, the method includes generating, by the application, an empty sparse having at least one inode identifying the empty sparse file as the clone and pointing to the snapshot associated with the clone. Thereby, the requested clone is created using the created sparse file, which begins as an empty sparse file.
摘要:
In one embodiment, at least one snapshot thread manages a point in time snapshot of a file system stored within the space allocated to the file system. The snapshot thread tracks, for at least one block of the plurality of blocks of the file system, a separate entry in a snapshot map specifying if each at least one block is newly allocated following the creation of the point in time snapshot and specifying an addressed location of a snapshot copy of the at least one block if copied. Separately, a file system handling thread tracks a mapping of an allocation state of each of said plurality of blocks of the file system. Responsive to detecting the file system triggered to write or delete a particular block from among the at least one block of the file system, the snapshot thread allows the file system to write to or delete the particular block without making a snapshot copy of the particular block if a particular entry for the particular block in the snapshot map specifies the particular block is newly allocated, wherein a block marked newly allocated was not in-use at the point in time of the file system snapshot.
摘要:
Mechanisms are provided for importing pre-existing data into a storage system utilizing a current storage management system that is different from an original storage management system used to create the pre-existing data. One or more data storage devices are integrated into the storage system in-place without modification of the pre-existing data stored on the one or more data storage devices. Metadata for the pre-existing data is created based on a linear progression of data in the pre-existing data. Read access requests targeting the pre-existing data are executed using the created metadata. Write access requests targeting the pre-existing data are executed by redirecting the write access requests to a copy of the pre-existing data created in another storage location.