CHECKPOINTS FOR A FILE SYSTEM
First Claim
1. A method implemented at least in part by a computer, the method comprising:
- indicating that a first set of updates are to be associated with a first checkpoint;
determining to write checkpoint data regarding the first checkpoint to a storage of a file system that uses copy on write to update data of the file system;
indicating that any updates that occur subsequent to the first set of updates are to be associated with a subsequent checkpoint;
generating write plans for the first set of updates, each write plan indicating at least a planned location on storage for data representing at least one of the first set of updates;
updating metadata to indicate allocation data of the file system as well as storage locations for file system objects modified by the write plans; and
creating a logical copy of the metadata.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to checkpoints for a file system. In aspects, updates to the file system are organized into checkpoint buckets. When a checkpoint is desired, subsequent updates are directed to another checkpoint bucket. After global tables have been updated for updates in the current checkpoint bucket, a logical copy of the global tables is created. This logical copy is stored as part of the checkpoint data. To assist in recovery, a checkpoint manager may wait until all updates of the current checkpoint bucket have been written to storage before writing final checkpoint data to storage. This final checkpoint data may refer to the logical copy of the global tables and include a validation code to verify that the checkpoint data is correct.
20 Citations
20 Claims
-
1. A method implemented at least in part by a computer, the method comprising:
-
indicating that a first set of updates are to be associated with a first checkpoint; determining to write checkpoint data regarding the first checkpoint to a storage of a file system that uses copy on write to update data of the file system; indicating that any updates that occur subsequent to the first set of updates are to be associated with a subsequent checkpoint; generating write plans for the first set of updates, each write plan indicating at least a planned location on storage for data representing at least one of the first set of updates; updating metadata to indicate allocation data of the file system as well as storage locations for file system objects modified by the write plans; and creating a logical copy of the metadata. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computing environment, a system, comprising:
-
an interface operable to receive a request to update a file system object of a file system; an I/O manager operable to determine one or more I/O requests to send to a store to fulfill the request; and a checkpoint manager operable to perform actions, comprising; determining a first checkpoint to associate with requests to update file system objects, wherein the checkpoint manager is capable of assigning requests to different checkpoints; determining to write checkpoint data associated with the checkpoint to a storage of the file system; determining a second checkpoint for subsequent requests to update file system objects; waiting for a consistent state of the file system while allowing preparation to write data for the subsequent requests; creating a logical copy of metadata of the file system; writing the logical copy to the storage; and writing at least one validation code to the storage, the at least one validation code usable to determine whether the updates prior to the checkpoint were written to storage. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:
-
receiving a recovery request for a file system; locating checkpoint data of a checkpoint on a storage of the file system, the checkpoint data having previously been generated by actions, comprising; indicating that any updates that occur subsequent to updates associated with the checkpoint be assigned to a subsequent checkpoint, generating write plans for the updates associated with the checkpoint, each write plan indicating at least a planned location on storage for representing at least one of the updates, updating metadata to indicate storage locations of objects modified by the write plans, creating a logical copy of the metadata, and writing at least one validation code to storage regarding the checkpoint; and validating the checkpoint data using the validation code. - View Dependent Claims (20)
-
Specification